QTest与其他框架的比较 你能比较C++的流行单元测试框架和Qt?< /P>的QTest吗?
(CPPFUnit、boost测试、google测试等) 优点和缺点是什么? 多谢各位QTest与其他框架的比较 你能比较C++的流行单元测试框架和Qt?< /P>的QTest吗?,c++,cppunit,googletest,boost-test,qtestlib,C++,Cppunit,Googletest,Boost Test,Qtestlib,(CPPFUnit、boost测试、google测试等) 优点和缺点是什么? 多谢各位 注意:GUI测试对我们来说不是很重要。QTest是我所知道的唯一用于单元测试UI组件的框架。我们已经使用它取得了一些成功,但是我们坚持使用Boost.Test进行常规单元测试。qtest(直到qt5.7)不提供在uut中预期断言的功能,而Googletest确实有死亡测试的概念,并且可以有一个测试来测试断言。我们发现这在Googletest中很有用,并且暗示它在QtTest中丢失了 根据我的经验,我不能推荐Q
注意:GUI测试对我们来说不是很重要。QTest是我所知道的唯一用于单元测试UI组件的框架。我们已经使用它取得了一些成功,但是我们坚持使用Boost.Test进行常规单元测试。qtest(直到qt5.7)不提供在uut中预期断言的功能,而Googletest确实有死亡测试的概念,并且可以有一个测试来测试断言。我们发现这在Googletest中很有用,并且暗示它在QtTest中丢失了 根据我的经验,我不能推荐Qt测试框架。可以提到的两个可能的优势是:
- QSignalSpy:验证发出的信号(仅对Qt有用),但这也可以用于其他测试框架
- 易于编写参数化测试
- 默认情况下不支持固定装置,您必须在“安装拆卸”中解决此问题
- QCOMPARE无法比较不同类型的值。例如,比较两个不同比率的
是不可能的,尽管它们具有同等的可比性。仅为std::chrono::duration
QCOMPARE
REQUIRE(a==b)
将起作用,a
和b
的值将在故障时得到解决。不需要夹具类或样板,您只需在测试用例中定义部分,它将使用不同的部分执行N次。它非常简单易懂。另一方面,默认情况下编译需要时间