我想对我在c++中使用QtTest完成的一些简单练习进行单元测试。我认为使用QtTest似乎是一个合理的开始。
我有一个返回整数的类,我想测试期望的结果是否与实际的结果相同。
我认为我在项目中创建一个新的c++源文件作为QtTest
这里我有什么,但从阅读Qt文档我不能找出我要做什么?
#include "Conversion.h"
#include <QtTest/QtTest>
class ConversionTest : public QObject
{
private slots:
void testConvert();
};
void ConversionTest::testConvert()
{
int unit1 = 1, unit2 = 10;
std::string sUnit1 = "stone", sUnit2 = "pound";
double expected = 10.8862;
double actual;
Conversion c;
actual = c.convert(unit1, unit2, sUnit1, sUnit2);
QCOMPARE(expected, actual);
}
QTEST_MAIN (ConversionTest)
#include "conversiontest.moc"
这是我在阅读文档后产生的内容,但现在我如何运行它并获得(我认为是)控制台输出说通过/失败?
任何帮助都将非常感谢
你需要用它创建一个应用程序(QTEST_MAIN(..)
为你构建main
函数),并在.pro
文件中指定CONFIG += qtestlib
。
当您运行它时,将打开一个控制台,打印出测试结果。
我自己解决了这个问题,问题只是Qt错误没有问题的代码在所有,出于某种原因,它不喜欢我的项目文件是在一个文件夹结构的多个文件夹之前,我的项目文件,使用完全相同的代码在一个新的目录,它工作??: S