Как использовать метод QTest :: setBenchmarkResult? Я хочу привести пример. Я использовал этот код:Реализация QTest
QBENCHMARK{
// Some code here ...
}
Я хочу, чтобы поймать результат теста и с especific метрикой.
Как использовать метод QTest :: setBenchmarkResult? Я хочу привести пример. Я использовал этот код:Реализация QTest
QBENCHMARK{
// Some code here ...
}
Я хочу, чтобы поймать результат теста и с especific метрикой.
Давайте посмотрим пример из документации:
void TestBenchmark::simple()
{
QString str1 = QLatin1String("This is a test string");
QString str2 = QLatin1String("This is a test string");
QCOMPARE(str1.localeAwareCompare(str2), 0);
QBENCHMARK {
str1.localeAwareCompare(str2);
}
}
Является ли это то, что вам нужно?
Как использовать метод QTest :: setBenchmarkResult?
Вы можете использовать его, чтобы сообщить тест-метрики результата-значение, которое вы вычисленный себе:
class CustomTimerBenchmark : public QObject
{
Q_OBJECT
private slots:
void BenchmarkNanosecondsWithCustomTimer()
{
MyCustomTimer myCustomTimer;
timer.start();
// here goes benchmarked code
QTest::setBenchmarkResult(
myCustomTimer.nanoseconds(), QTest::WalltimeNanoseconds);
// ^^^^
// This will treat BenchmarkNanosecondsWithCustomTimer
// as benchmark that reports wall-time in nanoseconds
}
};
Я хочу, чтобы поймать результат теста и с especific метрикой ,
Вы не можете сделать это с QTest::setBenchmarkResult
Использование QTest :: setBenchmarkResult(), если вы хотите сообщить о результатах тестирования ** без ** с помощью QBENCHMARK макроса. – Ilya
Зачем вам ловить результат теста? Он печатается в отчете (читаемая пользователем форма или xml). 'setBenchmarkResult' должен сообщать результаты, когда вы предоставляете собственную версию эталонного кода. –
Как сохранить в форме или xml-файле результаты макроса QBENCHMARK? – lumurillo