下面是一个简单的示例,展示如何使用 QtTestUtil 进行单元测试:
#include <QtTest>
#include <QtTestUtil>
// 要测试的类
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);
// 创建一个测试执行器对象,并添加测试用例类
QTestExecutor executor;
executor.addTestCase<TestCalculator>();
// 运行所有测试用例并生成报告
QTestRunner runner;
runner.setUseCompactOutput(false); // 设置为 true 则以紧凑形式输出结果,默认为 false
bool success = runner.run(&executor);
return success ? 0 : 1;
}
在上述示例中,我们定义了一个名为 Calculator
的类,并编写了一个简单的加法函数 add()
。然后,我们创建了一个名为 TestCalculator
的测试用例类,在其中编写了一个测试函数 testAddition()
来验证 add()
函数是否按预期工作。
在 main()
函数中,我们创建了一个 QTestExecutor
对象,并将要运行的测试用例类添加到其中。然后,我们创建了一个 QTestRunner
对象,并调用 run()
函数来执行所有测试用例并生成报告。
你可以将上述代码保存为 .cpp
文件,并使用 Qt 编译器编译运行。运行后,你将看到测试结果输出到控制台,并且会显示成功或失败的信息。
内容由零声教学AI助手提供,问题来源于学员提问