QTest在方法而不是主中执行测试
QTest execute tests in method instead of main
是否有一种方法可以在类方法中执行qtest :: qexec((,而不是main((?我需要将我的testProject编译为DLL,而不是独立的.exe。DLL由现有GUI使用,测试应由按钮执行。
但是,当调用Qexec时,QTGUI冻结并且不再响应。以下是QT插槽的实现,该QT插槽处理按钮请求以执行测试,以后应在某些Qedit小部件中读取并显示结果(该Qedit小部件已经有效,已完成虚拟结果(。
>int GUI_Form::onTestRequested()
{
const char* n_argv[] = { "-o", "dummy.txt"};
QCoreApplication CoreApp(argc, const_cast<char**>(n_argv));
QApplication app(argc, const_cast<char**>(n_argv));
return QTest::qExec(&mTestform, argc, const_cast<char**>(n_argv));
}
它可以很好地编译。不实施qcoreapplication和qapplication没有任何功能差异,我添加了它们,因为它们是在通常的main((中需要的。
现在,显然,如果从(其他(GUI应用程序的主线程调用,它将冻结您的GUI。您想从背景线程中调用它(如果您的测试和测试线程安全当然可以安全(
相关文章:
- 测试操作系统时执行程序集"sti"时虚拟框崩溃
- CMake:防止在子目录库项目中生成测试可执行目标
- 谷歌测试可执行文件中的单元测试未被vstest选中
- 为多个测试文件构建可执行文件
- cppUnit:针对多个测试方法执行一次的设置函数
- 在我的测试程序中,为什么 cv::resize 不能执行,而 cvtColor 可以?
- 将我的主输出库与测试可执行文件链接时出现问题
- 如何测试基类中的方法是否已使用谷歌模拟调用和执行?
- 测试执行后缺少某些GCDA文件
- QTest在方法而不是主中执行测试
- 在单独的可执行文件中调用INSTANTIATE_TEST_CASE_P时,库中的TEST_P测试不会运行
- 使用 ASSERT_DEATH 时,有没有办法在应用程序终止后自动继续执行所有测试
- CMake添加(测试)可执行文件
- 如何让谷歌测试在QtCreator中执行多个测试文件
- GTEST测试项目链接链接到其他可执行文件
- 谷歌测试:如果测试失败,则执行其他操作
- 提升单元测试似乎跳过了应执行的代码
- 自动执行 MFC 类的测试
- 从谷歌测试框架中的另一个测试执行测试
- 可执行测试文件没有运行测试