2011-02-24 53 views
2

我正在嘗試使用升壓測試,特別是升壓單元測試。如何設置要運行哪個升壓單元測試

我不瞭解清楚如何產生的主要功能,並呼籲,所有的教程說是定義一個模塊和編寫一個測試

#define BOOST_TEST_MODULE EnfTraderTest

BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}

但是,怎麼辦我對我的程序說要運行這個測試?我已經有主要功能,我想決定是否運行測試,從我的主要功能。

+0

重複的http://stackoverflow.com/q/963158/232490? – Xepo 2011-03-07 04:33:17

+0

[如何在boost.test庫中根據需求執行測試套件]可能的重複(http://stackoverflow.com/questions/3615979/how-to-execute-test-suites-based-on-requirement-in- boost_test-library) – 2015-11-03 15:34:18

回答

4

最簡單的方法是將您的測試寫入一個.cpp-文件,並在包含unit_test.hpp之前定義宏BOOST_TEST_MODULE。然後你可以編譯該文件並執行它。如果您在幾個.cpp文件中進行測試,請將它們全部鏈接在一起,但請注意在其中一個文件中定義了BOOST_TEST_MODULEBOOST_TEST_MAIN

您可以使用命令行參數run_test僅運行一個測試子集,默認是運行所有測試。

+0

關於'run_test'的說明:如果你使用通配符(例如'--run_test = * foo *'),取決於你的shell,你可能需要轉義wilcards(例如'--run_test = \ * FOO \ *')。這只是發生在我身上'zsh'。 – BenC 2015-05-15 02:46:42