在BOOST_FIXTURE_TEST_CASE
中,您可以为所有BOOST_TEST
调用设置容差,如下所示:
BOOST_FIXTURE_TEST_CASE(Testname, SomeFixture, *utf::tolerance(.01))
但是,我找不到一种方法来使用BOOST_DATA_TEST_CASE_F
。
来自Boost:
BOOST_DATA_TEST_CASE_F(my_fixture, test_case_name, dataset, var1, var2..., varN)
我试过明显的
BOOST_DATA_TEST_CASE_F(my_fixture, test_case_name, dataset, var1, var2..., varN, *utf::tolerance(.01))
但无济于事。在我看来,它只是没有得到支持。
有人知道如何复制类似的行为而不必在BOOST_DATA_TEST_CASE_F
中的每个BOOST_TEST
调用中指定容差吗?
我使用的是1.72版本。
我看不出有什么方法可以做到这一点,但您可以在BOOST_AUTO_TEstrongUITE((中设置公差,并且您可以拥有任意多的套件。因此:
BOOST_AUTO_TEST_SUITE(suite1, *utf::tolerance(.01))
BOOST_DATA_TEST_CASE_F(my_fixture, test_case_name, dataset, var1, var2..., varN)
BOOST_AUTO_TEST_SUITE_END()
如有必要,重复上述步骤。