我正在运行一个打开 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()
调用 and 并且我无法在下一次测试中使用该设备。有没有办法处理这个?也许捕获一个异常并关闭并取消该捕获范围内的设备?或者这是一个完全错误的方法?我对单元测试很陌生。所以任何帮助表示赞赏。谢谢!