私はcmakeとctestに関しては分かりません。私は実際に良いチュートリアルやctestをよく説明するものは見つけられません。ctestでテストごとに別々のファイルが必要ですか?
私のコードにいくつかのテストを書こうとしました。私がターゲットにテストを作成するために、CMakeLists.txtを作成しました
int main()
{
test1();
test2();
test3();
...
exit(0);
}
:私はすべてのこのようなmain.cppにから呼び出され異なる機能でテストを置きます。
set (TESTS
main.cpp
)
add_executable (tests ${TESTS})
target_link_libraries (tests ...)
enable_testing()
add_test(my-test tests)
今、それぞれが独立した機能で、私はcTESTを実行
$ ctest run
Test project /.../tests
Start 1: my-test
1/1 Test #1: my-test ......................... Passed 0.01 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.01 sec
呼び出すことができますが、内部的に、私は複数のテストケースを持っているが、これは私に一つだけのテストケースを提供します。私はファイルを分離するために関数を抽出することができましたが、私は何百ものファイルを持っていました。テストごとにファイルを分割することを避けるにはどうすればよいですか?
私はこのようなものを探していました。
add_test(test1 tests::test1())
add_test(test2 tests::test2())
私はこれが間違っていてナイーブであることを十分に認識しています。しかし、私はあなたが私の問題のアイデアを得ることを願っています。
私はcmockaを使用しており、良い結果が得られています。しかしそれはC専用です – jerrylogansquare