QTest 获取测试名称

QTest get test name

在 Qt 单元测试中,程序如何检索 运行 的测试名称?

代码看起来像这样:

#include <QtTest>
class MyTest : public QObject
{
    Q_OBJECT

private Q_SLOTS:
    void initTestCase()
    {
    }

    void testCase1()
    {
    }

    void cleanupTestCase()
    {
      // Want to print "finished testCase1" here
    }
};

QTEST_APPLESS_MAIN(MyTest)

例如它能找出触发测试的 signal/slot 的名称吗?

QTest::currentTestFunction()应该return当前测试函数的名称为const char *

顺便说一句,也许您想将它放在 cleanup 函数中,而不是 cleanupTestCase?似乎 cleanup 在每次测试后调用,而 cleanupTestCase 只会在所有测试完成后调用。