相关疑难解决方法(0)

在GoogleTest中方便的方法进行双重比较不等于?

我正在为ASSERT_DOUBLE_EQ寻找类似于ASSERT_EQ/ASSERT_NE的东西.

也许我在没有ASSERT_DOUBLE_NE的情况下错过了一个简单的方法吗?

c++ tdd unit-testing googletest

8
推荐指数
2
解决办法
3484
查看次数

c ++ Google测试(gtest):如何创建自定义断言和期望?

我正在使用gtest为我的C ++程序创建单元测试。在我的测试中,我必须写很多这样的检查:

ASSERT_TRUE(myObject.IsValid());
EXPECT_EQ(myObject.GetSomeAttribute(), expectedValue);
Run Code Online (Sandbox Code Playgroud)

我必须写两个检查,因为如果我省略ASSERT_TRUEmyObject碰巧是无效的,则会myObject.GetSomeAttributre()导致调用崩溃。即使在测试中也不是很好。

我想要写的是这样的:

EXPECT_XXX_EQ(myObject.GetSomeAttribute(), expectedValue);
Run Code Online (Sandbox Code Playgroud)

这行代码应该与原始的两行大致相同(带有可选的奖励,如果myObject无效,将被报告,GetSomeAttribute()不会被调用,但是测试将继续运行)。

如何编写这样的自定义断言/期望?

c++ unit-testing googletest

3
推荐指数
1
解决办法
1950
查看次数

标签 统计

c++ ×2

googletest ×2

unit-testing ×2

tdd ×1