1

我想对我使用 Qt 在 c++ 中完成的一些简单练习进行单元测试。我认为使用 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"

这是我在阅读文档后产生的,但现在我如何运行它并获得(我认为是)控制台输出,显示通过/失败?

任何帮助都会非常感谢

4

2 回答 2

1

您需要使用它创建一个应用程序(为您QTEST_MAIN(..)构建main功能),并CONFIG += qtestlib.pro文件中指定。

运行它时,会打开一个控制台,打印出测试结果。

于 2013-03-13T12:57:57.267 回答
0

我自己解决了这个问题只是Qt错误代码根本没有问题,由于某种原因,它不喜欢我的项目文件在我的项目文件之前位于多个文件夹的文件夹结构中,使用完全相同的代码新目录,它工作?:S

于 2013-03-13T15:10:47.440 回答