我对使用 Ceedling/Unity 很陌生。我有一个模块,我通过给它不同的输入测试点并检查输出值来测试它。但我需要多次这样做。这就像我尝试过的(使用'for'循环):
/*Example Code*/
void test_whenInputIsThis_thenOutputIsThat(void)
{
for(i=0;i<ITERATIONS;i++)
{
/*Everything is declared & initialized as required*/
inputA = inputA_array[i];
inputB = inputB_array[i];
expected = expectedValues_array[i];
ModuleUnderTest(inputA, inputB);
TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual);
}
}
虽然我看到测试通过(预期和实际都在 delta 内),但在整体测试摘要中我看到了这个
--------------------
OVERALL TEST SUMMARY
--------------------
TESTED: 1
PASSED: 1
FAILED: 0
IGNORED: 0
这向我表明一个测试函数 = 1 个测试。有趣的是,我可以通过循环打印预期和实际的所有值(因此循环正在完全执行)。那么,有没有办法在循环中进行测试?或者以其他方式迭代它?还是我违反了一些单元测试规则?
谢谢。