【发布时间】:2012-05-02 08:13:40
【问题描述】:
我在几个测试套件中订购了许多 Boost 测试用例。有些测试用例有一个,有些不止一个。
但是,在执行所有测试时,它们都会被执行——无论有多少失败或通过。我知道,我可以通过使用BOOST_REQUIRE 而不是BOOST_CHECK 来停止执行一个测试用例并进行多次检查。但这不是我想要的。
如何在第一个测试用例失败后告诉 Boost 停止整个执行?比起运行时解决方案(即运行时参数),我更喜欢编译后的解决方案(例如使用全局夹具实现)。
【问题讨论】:
-
BOOST_REQUIRE_THROW 将抛出异常,因此应该停止整个测试套件的执行。
-
谢谢@rhalbersma。我会试试的。你为什么不做一个答案呢?
-
Ehm,因为在仔细阅读了 Boost.Test 手册之后,该建议是不准确的。 BOOST_REQUIRE_THROW 是检查是否抛出异常的单元测试。它不会自己扔。
标签: c++ unit-testing boost boost-test