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);
}
}
そして、テストに合格したことがわかりますが(期待値と実際の値はデルタ内にあります)、全体的なテストの概要にはこれが表示されます
--------------------
OVERALL TEST SUMMARY
--------------------
TESTED: 1
PASSED: 1
FAILED: 0
IGNORED: 0
これは、1 つのテスト関数 = 1 つのテストであることを示唆しています。興味深いことに、ループを介して、expected と actual のすべての値を出力できます (したがって、ループは完全に実行されます)。では、テストをループに入れる方法はありますか? それとも別の方法で繰り返しますか?それとも、単体テストのルールに違反していますか?
ありがとう。