2014-09-30 4 views
0

Как использовать метод QTest :: setBenchmarkResult? Я хочу привести пример. Я использовал этот код:Реализация QTest

QBENCHMARK{ 
    // Some code here ... 
} 

Я хочу, чтобы поймать результат теста и с especific метрикой.

+0

Использование QTest :: setBenchmarkResult(), если вы хотите сообщить о результатах тестирования ** без ** с помощью QBENCHMARK макроса. – Ilya

+0

Зачем вам ловить результат теста? Он печатается в отчете (читаемая пользователем форма или xml). 'setBenchmarkResult' должен сообщать результаты, когда вы предоставляете собственную версию эталонного кода. –

+0

Как сохранить в форме или xml-файле результаты макроса QBENCHMARK? – lumurillo

ответ

0

Давайте посмотрим пример из документации:

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); 
    } 
} 

Является ли это то, что вам нужно?

0

Как использовать метод 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

Смежные вопросы