Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不知道如何使用QtTest 我想用QT做一些简单的练习,用C++做的简单的练习。我认为使用QtTest似乎是一个合理的起点_C++_Qt_Qttest - Fatal编程技术网

不知道如何使用QtTest 我想用QT做一些简单的练习,用C++做的简单的练习。我认为使用QtTest似乎是一个合理的起点

不知道如何使用QtTest 我想用QT做一些简单的练习,用C++做的简单的练习。我认为使用QtTest似乎是一个合理的起点,c++,qt,qttest,C++,Qt,Qttest,我有一个返回整数的类,我想测试预期结果是否与实际结果相同 我想在项目中制作一个新的C++源文件作为QTest是正确的。 这是我所拥有的,但通过阅读Qt文档,我无法了解我必须做什么 #include "Conversion.h" #include <QtTest/QtTest> class ConversionTest : public QObject { private slots: void testConvert(); }; void Conversion

我有一个返回整数的类,我想测试预期结果是否与实际结果相同

我想在项目中制作一个新的C++源文件作为QTest

是正确的。 这是我所拥有的,但通过阅读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"
#包括“Conversion.h”
#包括
类转换测试:公共QObject
{
专用插槽:
void testConvert();
};
void ConversionTest::testConvert()
{
int unit1=1,unit2=10;
std::string sUnit1=“石头”,sUnit2=“磅”;
双预期=10.8862;
双实际值;
转换c;
实际=c.转换(单位1、单位2、单位1、单位2);
QCOMPARE(预期、实际);
}
QTEST_MAIN(转换测试)
#包括“conversiontest.moc”
这是我在阅读文档后生成的,但是现在我该如何运行它并获得(我认为是什么)控制台输出,即pass/fail


任何帮助都将非常感谢您需要使用它创建一个应用程序(
QTEST_MAIN(…)
为您构建
MAIN
函数),并在
.pro
文件中指定
CONFIG+=qtestlib


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

您需要使用它创建一个应用程序(
QTEST\u MAIN(…)
为您构建
MAIN
函数),并在
.pro
文件中指定
CONFIG+=qtestlib


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

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

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

对不起,我不知道你所说的应用程序是什么意思?我是c++新手,我知道这里有
QTEST\u MAIN
,我只是解释说,即使您需要构建一个可执行文件,也不需要像宏为您定义的那样定义
MAIN(…)
函数。中的“应用程序”需要告诉
qmake
您正在构建一个可执行文件(与共享库等相反)-这只需要在
.pro
文件中将
模板
部分设置为“应用程序”。它已经是了吗?还是什么都没发生,我的源文件夹中也没有exe?一些示例代码对我真的很有帮助,但示例代码并没有帮助,因为我们仍然不知道哪里出了问题。如果没有exe,则编译失败或配置错误。使用
.pro
文件和任何编译器输出更新您的问题。对不起,我不知道应用程序是什么意思?我是c++新手,我知道这里有
QTEST\u MAIN
,我只是解释说,即使您需要构建一个可执行文件,也不需要像宏为您定义的那样定义
MAIN(…)
函数。中的“应用程序”需要告诉
qmake
您正在构建一个可执行文件(与共享库等相反)-这只需要在
.pro
文件中将
模板
部分设置为“应用程序”。它已经是了吗?还是什么都没发生,我的源文件夹中也没有exe?一些示例代码对我真的很有帮助,但示例代码并没有帮助,因为我们仍然不知道哪里出了问题。如果没有exe,则编译失败或配置错误。使用
.pro
文件和任何编译器输出更新您的问题。您的类中缺少Q_对象宏。是否添加了它,但仍然没有打开控制台?您的类中缺少Q_对象宏。是否添加了它,仍然没有打开控制台?