構成を読み取るように設計されたクラスをテストする CPP 単体テストがあります。このクラスを呼び出すことができます
Config
構成クラスには実行する能力があります
Config c;
c.read("/tmp/random-tmp-directory/test.conf");
はrandom-temp-directory
bash スクリプトによって作成され、テスト バイナリに渡す必要があります。
#!/bin/bash
TEMPDIR=$(mktemp)
cp files/config/test.conf $TEMPDIR/.
./testConfig $(mktemp)/test.conf
上記は一時ディレクトリを作成し、一時ファイルをコピーしてパスをテストに渡すため、正しいファイルをロードできます。
コマンドライン引数または任意の引数をテスト レジストリに送信するように CPPUNIT に指示する方法はありますか?
これが私のtestConfig.cpp
#include <all the required.h>
CPPUNIT_TEST_SUITE_REGISTRATION(testConfig);
int main(int argc, char ** argv)
{
CPPUNIT_NS::TestResult testresult;
CPPUNIT_NS::TestRunner runner;
CPPUNIT_NS::TestFactoryRegistry ®istry = CPPUNIT_NS::TestFactoryRegistry::getRegistry();
// register listener for collecting the test-results
CPPUNIT_NS::TestResultCollector collectedresults;
testresult.addListener(&collectedresults);
runner.addTest(registry.makeTest());
runner.run(testresult);
// Print test in a compiler compatible format.
CppUnit::CompilerOutputter outputter( &collectedresults, std::cerr );
outputter.write();
return collectedresults.wasSuccessful() ? 0 : 1;
}