答えを探し回っていますが、見つかりませんでした。問題は、私が C で書いたプログラムに対していくつかのテスト ケースを実行する必要があるということです。問題は、一部の関数がユーザー入力を取り込んで、テスト ケースが入力を待機するようにすることです。これは、私が望んでいるものではありません。
これは私のテストケースの1つです:
void test_is_location_free() {
Storage test_storage = new_storage();
Item test_item;
test_storage->inventory[5] = test_item;
test_storage->inventory[5].loc.shelf = 'A';
test_storage->inventory[5].loc.place = 1;
CU_ASSERT(!is_location_free(test_storage, test_item, 'A', 1));
}
is_location_free() が false を返すため、これは機能しますが、関数内には、選択した場所が空くまで、ユーザーに新しい入力を求め続ける別の関数があります。
これは、シェルフに対する新しいユーザー入力を待機するターミナルでどのように表示されるかです。
Suite: HELPER FUNCTIONS
Test: compare_char() ...passed
Test: first_empty_position() ...passed
Test: is_location_free() ...Location not empty, try again!
Shelf:
すべてのユーザー入力を合計で無視する方法はありますか? または、テスト ケースで使用する将来のユーザー入力を定義する方法はありますか?
ありがとう!