Ceedling test, тестирование с помощью мок функций
Подскажите почему когда запускаю ceedling тест:
void test_FW_Check_Modules_Ready_To_Test_SHOULD_RETURN_TRUE(void)
void test_FW_Check_Modules_Ready_To_Test_SHOULD_RETURN_FALSE(void)
по одиночке, оба теста работают корректно.
>>>ceedling test:all
Test 'test_FW_modul_test.c'
---------------------------
Generating runner for test_FW_modul_test.c...
Compiling test_FW_modul_test_runner.c...
Compiling test_FW_modul_test.c...
Compiling mock_FW_cap_functions.c...
Compiling unity.c...
Compiling cmock.c...
Compiling FW_modul_test.c...
Linking test_FW_modul_test.out...
Running test_FW_modul_test.out...
-----------
TEST OUTPUT
-----------
--------------------
OVERALL TEST SUMMARY
--------------------
TESTED: 1
PASSED: 1
FAILED: 0
IGNORED: 0
Когда запускаю одновременно:
#include "unity.h"
#include "cmock.h"
#include "FW_modul_test.h"
#include "mock_FW_cap_functions.h"
void setUp(void)
{
}
void tearDown(void)
{
}
void test_FW_Check_Modules_Ready_To_Test_SHOULD_RETURN_TRUE(void)
{
set_before_update_readinnes();
AMS_Get_Init_State_ExpectAndReturn(true);
CAM_Get_Init_Status_ExpectAndReturn(true);
PIR_Get_Init_Status_ExpectAndReturn(true);
ALS_Get_Init_State_ExpectAndReturn(1);
MAG_Get_Init_Status_ExpectAndReturn(1);
MW_Get_Init_State_ExpectAndReturn(true);
TS_Get_Init_Status_ExpectAndReturn(true);
TEST_ASSERT_TRUE(FW_Check_Modules_Ready_To_Test());
}
void test_FW_Check_Modules_Ready_To_Test_SHOULD_RETURN_FALSE(void)
{
set_before_update_readinnes();
AMS_Get_Init_State_ExpectAndReturn(true);
CAM_Get_Init_Status_ExpectAndReturn(true);
PIR_Get_Init_Status_ExpectAndReturn(true);
ALS_Get_Init_State_ExpectAndReturn(1);
MAG_Get_Init_Status_ExpectAndReturn(1);
MW_Get_Init_State_ExpectAndReturn(true);
TS_Get_Init_Status_ExpectAndReturn(true);
TEST_ASSERT_TRUE(FW_Check_Modules_Ready_To_Test());
}
один из тестов не проходит
>>>ceedling test:all
Test 'test_FW_modul_test.c'
---------------------------
Generating runner for test_FW_modul_test.c...
Compiling test_FW_modul_test_runner.c...
Compiling test_FW_modul_test.c...
Compiling mock_FW_cap_functions.c...
Compiling unity.c...
Compiling cmock.c...
Compiling FW_modul_test.c...
Linking test_FW_modul_test.out...
Running test_FW_modul_test.out...
-----------
TEST OUTPUT
-----------
-------------------
FAILED TEST SUMMARY
-------------------
[test_FW_modul_test.c]
Test: test_FW_Check_Modules_Ready_To_Test_SHOULD_RETURN_FALSE
At line (32): "Function AMS_Get_Init_State. Called fewer times than expected."
--------------------
OVERALL TEST SUMMARY
--------------------
TESTED: 2
PASSED: 1
FAILED: 1
IGNORED: 0
---------------------
BUILD FAILURE SUMMARY
---------------------
Unit test failures.
одинаковая реализация тестов сделана специально, чтоб проверить работоспособность.