【发布时间】:2016-06-22 21:36:41
【问题描述】:
我基本上迷路了。我看过 Boost doc plus search on SO,但我似乎没有找到任何东西。假设一个类建模Fraction,我想在divider设置为0时抛出异常。
void Fraction::setQ(int q) {
if (q == 0){
throw new std::logic_error("Divider must not be null");
}else{
q_ = q;
}
}
并且这段代码是用这段代码测试的
BOOST_AUTO_TEST_CASE( NonZeroDivider ){
BOOST_CHECK_THROW(
f->setQ(0),
std::logic_error
);
}
但是当 boost 应该捕获异常时,它不会并打印一个错误,然后是一个失败
unknown location(0): fatal error in "NonZeroDivider": unknown type
如果你能帮我解决这个问题,我已经尝试过 BOOST_CHECK_EXCEPTION(带有必要的版本)但不知道。总是相同的行为。谢谢!
【问题讨论】:
标签: c++ unit-testing boost