Мы создаем наши тесты 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