gtest более трех тестов в одном случае

Я новичок в C++ и gtest. У меня есть кейс с 29 тестами, и я хотел бы выполнить их все сразу. Но кажется, что gtest обрабатывает только до 3 тестов за раз, он показывает:

[==========] Running 29 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 29 tests from StringTests
[ RUN      ] StringTests.DelimitedStringComponent
[       OK ] StringTests.DelimitedStringComponent (0 ms)
[ RUN      ] StringTests.boolToString
[       OK ] StringTests.boolToString (0 ms)
[ RUN      ] StringTests.checkFixSASNull
[       OK ] StringTests.checkFixSASNull (0 ms)
[ RUN      ] StringTests.doubleToString

Затем остановился. Что с этим не так?


person user2662434    schedule 07.08.2013    source источник
comment
Похоже, он начал 4-й тест, а затем разбился, не завершив его. Сбой может быть вызван ошибкой сегментации или необработанным исключением. Если вам нужна дополнительная помощь, вам нужно будет показать нам свой код.   -  person Fraser    schedule 09.08.2013


Ответы (1)


Он падает или перестает выдавать результат?

В первом случае, сбой, это может быть сбой в тестируемом коде. Например, любое утверждение мгновенно уничтожит процесс. Это НЕ будет поймано gtest.

Если он просто перестает выдавать результат, это может быть бесконечный цикл или сложное исчисление. Скорее всего, он все еще рассчитывает. В моем случае добавление нескольких SCOPED_TRACE замедляет тесты на один-два порядка. Кроме того, некоторые из протестированных операций могут выполняться медленно, и завершение теста может занять несколько секунд или даже минут.

Нам потребуется больше данных, чтобы точно определить вашу проблему. Надеюсь, поможет!

person GdelP    schedule 21.08.2013