如果我有如下测试用例
TEST(one, test_one) {
vector<thread> threads
// ... initialize threads
}
在这些线程中某个断言失败的地方,如何停止所有线程并终止?因为看起来这个函数现在一直在执行..
答案 0 :(得分:1)
如何停止所有线程并终止?
如果没有来自您所测试的类的交互,以及它实际涉及的线程,就无法完成。
如果你有一些正在测试的类,涉及运行多个线程,你应该在析构函数中有一些实现,以指示线程停止并加入它们。
虽然我可以考虑从预期的 assert()
声明中拯救death test的某些内容,但整个过程都被杀死了(因此无需担心)关于其他线程被终止)。