QTest::qExec()
是 Qt 提供的一个静态函数,用于执行单元测试。它接受一个测试类实例作为参数,并自动运行该测试类中所有以 test
开头的测试函数。
以下是一个使用 QTest::qExec()
的示例:
#include <QtTest>
// 要测试的类
class Calculator {
public:
int add(int a, int b) { return a + b; }
};
// 测试用例类
class TestCalculator : public QObject {
Q_OBJECT
private slots:
// 测试 add() 函数是否正确计算结果
void testAddition() {
Calculator calc;
QCOMPARE(calc.add(2, 3), 5);
QCOMPARE(calc.add(-1, 6), 5);
QCOMPARE(calc.add(0, 0), 0);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建一个 TestCalculator 实例并运行所有以 test 开头的测试函数
TestCalculator calculatorTest;
QTest::qExec(&calculatorTest);
return 0;
}
在上述示例中,我们定义了一个名为 Calculator
的类,并编写了一个简单的加法函数 add()
。然后,我们创建了一个名为 TestCalculator
的测试用例类,在其中编写了一个测试函数 testAddition()
来验证 add()
函数是否按预期工作。
在 main()
函数中,我们创建了一个 TestCalculator
实例,并调用 QTest::qExec()
来执行该实例中所有以 test
开头的测试函数。
你可以将上述代码保存为 .cpp
文件,并使用 Qt 编译器编译运行。运行后,你将看到测试结果输出到控制台,并且会显示成功或失败的信息。
内容由零声教学AI助手提供,问题来源于学员提问