構成を読み取るように設計されたクラスをテストする CPP 単体テストがあります。このクラスを呼び出すことができます
Config
構成クラスには実行する能力があります
Config c;
c.read("/tmp/random-tmp-directory/test.conf");
はrandom-temp-directorybash スクリプトによって作成され、テスト バイナリに渡す必要があります。
#!/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;
}