【发布时间】:2015-08-09 17:46:21
【问题描述】:
我非常喜欢用于测试的 catch.hpp (https://github.com/philsquared/Catch)。我喜欢它的 BDD 风格和它的 REQUIRE 语句,它的断言版本。但是,catch 不附带模拟框架。
我正在处理的项目有 GMock 和 GTest,但我们也将 catch 用于一些项目。我想将 GMock 与 catch 一起使用。
我在宏 FAIL 和 SUCCEED 的 catch.hpp 和 gtests 头文件中发现了 2 个冲突。由于我没有使用 TDD 样式,而是使用 BDD 样式,因此我将它们注释掉,因此我检查了它们在 catch.hpp 中的其他任何地方都没有引用。
问题:使用EXPECT_CALL() 不会返回任何内容,也不会通过回调来了解 EXPECT 是否通过。我想做类似的事情:
REQUIRE_NOTHROW(EXPECT_CALL(obj_a, an_a_method()).Times(::testing::AtLeast(1)));
问题:如果EXPECT_CALL 失败(或返回值),我如何获得回调
【问题讨论】:
-
trompeloeil 听起来很有趣,旨在与 Catch 一起使用。就个人而言,我会在 Google 的庞然大物之前尝试这样做。
标签: c++ unit-testing googlemock