次の場合、テスト コードでデータ フィクスチャ ファイルへのパスを計算するにはどうすればよいですか。
test/{main.cpp,one_test.cpp,two_test.cpp}
- で行われたコンパイル
build/
test/fixtures/{conf_1.cfg}
私が直面している問題は次のとおりです。
/* in test/one_test.cpp */
TEST_CASE( "Config from file", "[config]" ) {
Config conf;
REQUIRE( conf.read(??? + "/conf_1.cfg") )
}
これまでに見つけた解決策は、構成時にマクロを定義することです。
#define TEST_DIR "/absolute/path/to/test"
wscript
私のwithで得られる
def configure(cnf):
# ...
cnf.env.TEST_DIR = cnf.path.get_src().abspath()
cnf.define('TEST_DIR', cnf.env.TEST_DIR)
cnf.write_config_header('include/config.h')
__FILE__
に拡張された他の試みが含まれていました../test/one_test.cpp
が、使用できませんでした。
背景: Catch testing frameworkとwaf build tool を使用しています。
おそらくテストフレームワークに依存する、一般的な慣行またはパターンはありますか?