如何使用Boost指定应预期的异常.测验
How do you specify that an exception should be expected using Boost.Test?
我有一个Boost单元测试用例,它会导致被测对象抛出异常(这就是导致异常的测试)。我如何在测试中指定期望该特定异常。
我可以通过使用BOOST_AUTO_test_CASE_EXPECTED_FAILUES指定测试应该有一定数量的失败,但这似乎并不具体。我希望能够在测试的某个特定点上说,应该抛出异常,而不应该将其视为失败。
这不管用吗?
BOOST_CHECK_THROW (expression, an_exception_type);
如果表达式抛出给定的异常类型,则这将导致测试通过,否则将失败。如果需要与"CHECK"不同的严重性,也可以使用BOOST_WARN_THROW()
或BOOST_REQUIRE_THROW()
。请参阅文档
您还可以使用BOOST_CHECK_EXCEPTION,它允许您指定验证异常的测试函数。
相关文章:
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- C++中的赋值发生,尽管右侧出现异常
- 从构造函数抛出异常时如何克服内存泄漏
- 异常属于C++中的线程还是进程
- 当类定义不可见时捕获异常
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 为什么异常不退出程序?
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- 是什么导致了Unity 3D中的"错误线程异常"?
- 如何将strftime中的格式错误作为异常捕获
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 尝试使用智能指针时引发异常
- 函数如何通知用户它基于函数原型抛出异常?
- 是否值得降低我的代码的可读性,以便在出现内存不足错误时提供异常安全性?
- 当我使用 C++ 中的 C# dll 来使用 Selenium 时,存在异常处理问题
- 如何使用Boost指定应预期的异常.测验