标签: googletest

谷歌测试:代码覆盖率

是否可以使用谷歌测试框架通过测试完成代码覆盖?

c++ code-coverage googletest

29
推荐指数
3
解决办法
3万
查看次数

什么是Google Test,Death Tests

我看到该功能的文档似乎非常重要,因为它在Google测试概述功能中并详细介绍:https:
//github.com/google/googletest/blob/master/googletest/docs/advanced.md#death-tests

它们看起来像标准,assert()但它们是Google Test的一部分,因此是一个xUnit测试框架.因此,我想知道使用这些死亡测试的真正用途或优点是什么.

c++ testing googletest

29
推荐指数
1
解决办法
2万
查看次数

如何使用msbuild构建一些项目配置

gtest的msvc目录包含gtest项目文件,使用Visual Studio打开它使我能够使用Batch Build选择8种配置(gtest/gtest_main/gtest_prod_test/gtest_unittest x release/debug)中的构建.

我怎么能用msbuild工具做同样的事情?例如,如何告诉msbuild构建gtest/Debug或gtest_unittest/Release?

msbuild googletest visual-studio

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

TEST、TEST_F 和 TEST_P 之间有什么区别?

我对 gtest/gmock 进行了很多研究,但没有一个给我正确的答案。我是 C++ 新手,所以任何帮助都将不胜感激。

googletest googlemock

29
推荐指数
2
解决办法
3万
查看次数

为什么GoogleMock泄露了我的shared_ptr?

我使用GoogleMock/GoogleTest进行测试,当匹配器将模拟器的shared_ptr作为参数时,我会看到一些奇怪的行为,并且在同一个shared_ptr上调用EXPECT.令人讨厌的代码:

#include <gmock/gmock.h>
#include <gtest/gtest.h>

#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
using namespace boost;
using namespace testing;

struct MyParameter
{
    virtual ~MyParameter() {}
    virtual void myMethod() = 0;
};

struct MyParameterMock : public MyParameter
{
    MOCK_METHOD0(myMethod, void());
};

struct MyClass
{
    virtual ~MyClass() {}
    virtual void myMethod(shared_ptr<MyParameter> p) {}
};

struct MyClassMock : public MyClass
{
    MOCK_METHOD1(myMethod, void(shared_ptr<MyParameter>));
};

TEST(LeakTest, GoogleMockLeaksMatchedPointer)
{
    shared_ptr<MyClassMock> c = make_shared<MyClassMock>();
    shared_ptr<MyParameterMock> p = make_shared<MyParameterMock>();
    {
        InSequence dummy;
        EXPECT_CALL(*c, myMethod(Eq(p)));
        EXPECT_CALL(*p, myMethod());
    }
    c->myMethod(p);
    p->myMethod();
}
Run Code Online (Sandbox Code Playgroud)

当这个测试运行时,我明白了 …

c++ boost googletest shared-ptr googlemock

28
推荐指数
1
解决办法
2万
查看次数

gtest.lib和gtest_main.lib有什么区别?

Google的C++ Test Framework有两个输出库:一个是gtest.lib,另一个是gtest_main.lib.根据Nik Reiman关于如何使用Visual Studio设置gtest 的答案,我们应该链接到gtest_main.lib但是我链接到gtest.lib并且我运行的示例测试用例运行正常.

两个库之间有什么区别,我链接到哪一个是否重要?

c++ linker googletest visual-studio-2008

27
推荐指数
2
解决办法
1万
查看次数

谷歌模拟:我如何"预测"在模拟上不会调用任何方法

我想测试一些失败的情况下,使用谷歌模拟不会在模拟对象上调用任何方法.所以代码是这样的:

auto mocObj = new MockObj;
EXPECT_NO_METHOD_CALL(mocObj); //this is what I'm locking for

auto mainObj = new MainObj(mocObj , ......and other mocks); // here I simulate a fail using the other mock objects, and I want to be sure the no methods are called on the mockObj
Run Code Online (Sandbox Code Playgroud)

c++ googletest googlemock

27
推荐指数
3
解决办法
2万
查看次数

是否有针对Windows的"Google Test"(gtest)的图形测试运行器?

似乎是一个很棒的C++单元测试框架.我只是想要比运行测试的控制台输出更复杂的东西,这也使得运行特定测试变得非常容易(因为gtest支持各种测试过滤)

如果什么都没有,我可能会自己动手

c++ googletest

26
推荐指数
2
解决办法
1万
查看次数

使用CMake的Google C++ Testing Framework的最简单示例

我有一个非常简单的C++库(一个头文件,一个.cpp文件).我想使用Google C++测试框架为这个项目编写单元测试.

这是目录结构:

~/project1
 |
 |-- project1.cpp
 |-- project1.h
 |-- project1_unittests.cpp
 \-- CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

我不打算编写自己的main()函数.我想与引物中提到的gtest_main链接.CMakeLists.txt应该包含什么?

c++ unit-testing cmake googletest

25
推荐指数
1
解决办法
1万
查看次数

Google测试:有没有办法组合一个既可以参数化又可以参数化值的测试?

我知道如何分别开发类型参数化测试和值参数化测试.我想弄清楚的是,是否可以将两者结合起来.换句话说,创建一个通用测试,该测试采用该类型的任何类型和范围的值.

unit-testing googletest parameterized-unit-test

25
推荐指数
1
解决办法
5220
查看次数