【发布时间】:2013-10-10 13:50:11
【问题描述】:
我正在运行一个测试,其中打开了一个 USB 设备,发送和接收一个数据包,然后再次关闭它。 它看起来像这样:
void TestCase1(void)
{
int recv;
BOOST_REQUIRE(initDevice());
BOOST_REQUIRE(openDevice());
BOOST_REQUIRE_EQUAL(receiveData(), 5);
BOOST_REQUIRE(closeDevice());
BOOST_REQUIRE(uninitDevice());
}
现在,每当receiveData() 调用中出现错误并且检查“5”失败时,closeDevice() 和uninitDevice() 将不再被调用,并且我无法在下一次测试中使用该设备。有没有办法处理这个?也许捕获一个异常并关闭并取消该捕获范围内的设备?或者这是一个完全错误的方法?
我对单元测试很陌生。所以任何帮助表示赞赏。谢谢!
【问题讨论】:
-
在 unit 测试中打开实际的 USB 端口是否明智?
标签: c++ unit-testing boost