TestPlugInRunnerd.exe + gmock - PullRequest
       25

TestPlugInRunnerd.exe + gmock

0 голосов
/ 18 марта 2011

Мы создаем наши тесты cppunit как dll и загружаем их в TestPlugInRunnerd.exe, чтобы показать наши результаты. Мы пишем собственные макеты, но я бы хотел начать использовать фреймворк, такой как gmock

Я скачал gmock и связался с ним без особых проблем. Я написал макет с помощью gmock, и он прекрасно компилируется. Но затем я прочитал следующее в faq gmock:

If you want to use something other than Google Test (e.g. CppUnit or CxxTest) as your testing framework, just change the main() function in the previous section to:

int main(int argc, char** argv) {
  // The following line causes Google Mock to throw an exception on failure,
  // which will be interpreted by your testing framework as a test failure.
  ::testing::GTEST_FLAG(throw_on_failure) = true;
  ::testing::InitGoogleMock(&argc, argv);
  ... whatever your testing framework requires ...
}

This approach has a catch: it makes Google Mock throw an exception from a mock object's destructor sometimes. With some compilers, this sometimes causes the test program to crash. You'll still be able to notice that the test has failed, but it's not a graceful failure. 

У меня явно нет основной. Что мне нужно сделать, чтобы заставить gmock работать с моей dll? Должен ли я рассмотреть альтернативы gmock?

Спасибо

Barry

1 Ответ

1 голос
/ 18 марта 2011

Во-первых, невозможно, чтобы у вас не было основного.В противном случае, как бы вы выполнили свои модульные тесты?

Во-вторых, вы могли бы создать статическую переменную класса, где вы вызываете эти две функции, например:

...