我已经成功地在linux中安装了yaml-cpp,然后我想用yaml-cpp在windows中安装yaml-cpp。但是当我构建或安装它时,会发生一些错误。例如:
In file included from D:/github/yaml-cpp/test/gtest-1.8.0/googletest/include/gtest/internal/gtest-linked_ptr.h:74:0,
from D:/github/yaml-cpp/test/gtest-1.8.0/googlemock/include/gmock/internal/gmock-po
我花了几个小时试图找出为什么会出现以下编译错误:
~/src/example/build $ make
-- Downloading GMock / GTest version 1.8.0 from git
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/src/example/build
[ 5%] Performing update step for 'gmock'
[ 10%] Performing configure step for
我正尝试在单元测试中使用GMock。但是链接失败,并出现下一个错误:
In function `testing::internal::linked_ptr_internal::depart()':
/home/user/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:127: undefined reference to `testing::internal::g_linked_ptr_mutex'
In function `testing::internal::linked_ptr_interna
我正在为一个新组件编写单元测试,其中一个接口方法返回一个具有多个用户定义转换的对象。当模拟这样的方法时,编译器似乎抱怨多义性:
gdpr1@BEL081089 ~/Code/sandbox/mocking
$ make && ./tests.exe
Scanning dependencies of target tests
[ 25%] Building CXX object CMakeFiles/tests.dir/Foo.cpp.o
[ 50%] Building CXX object CMakeFiles/tests.dir/FooTest.cpp.o
In file i
我想使用OpenCppCoverage来通过单元测试检查我的源文件的覆盖率。但是,我似乎需要生成.pdb文件才能使OpenCppCoverage工作。
问题是我无法从我的构建中生成这样的文件。这是我的CmakeLists.txt
cmake_minimum_required(VERSION 3.17) # version can be different
project(GUnitTestingVSCode) #name of your project
add_subdirectory(googletest) # add googletest subdirectory
add_compi
有没有可能在Google Test/Mock中构建模拟对象的向量?我有一个场景,我想从一个对象(Bar)返回一个自定义对象(Foo)的向量。因此,我尝试使用该类的模拟版本(std::vector<Foo>)返回向量。
示例代码:
class Foo {
public:
virtual int op(int a , int b) {
return 0;
}
};
class Bar {
public:
virtual std::vector<Foo> getFoos() {
std::vector<Foo
在Ubuntu上执行cmake命令时,我得到了以下错误。CMake版本- 3.10.2。 mapp@ubuntu:~/Desktop/LocatePro$ cmake .
-- Enable testing: ON
CMake Error at CMakeLists.txt:40 (include):
include could not find load file:
FetchContent
CMake Error at CMakeLists.txt:42 (FetchContent_Declare):
Unknown CMake command "Fe
我们经常收到虚假的ThreadSanitizer (tsan)数据竞争警告,但不一致。虽然众所周知,tsan可以发出虚假的积极警告,其中一些警告可能通过TSAN_OPTIONS环境变量加以抑制,但我们遇到的一类特殊警告似乎与英特尔的线程构建块(tbb)使用tbb::detail::r1::rml::private_server特别相关,如果我们能够更好地控制该private_server的停止,这类警告似乎是可以预防的。以下是在运行过程中遇到的这样一个假阳性tsan数据竞争警告:
WARNING: ThreadSanitizer: data race (pid=5244)
Write of
上下文
我正在开发一个项目,它需要英特尔的anaconda发行版,我们使用googletest来测试我们的本地用户。我使用clang作为我的编译器。当我通过googletest通过cmake构建cmake时,我得到了以下内容:
In file included from /foo/home/bar/native/build/gradle_unittest_build/googletest-src/googletest/src/gtest-all.cc:39:
In file included from /foo/home/bar/native/build/gradle_unittest_bui
我在使用GTest时遇到了一种难以理解的行为。
问题很容易解决。我打电话给sut方法。该方法调用StrictMock对象方法。我对那个方法调用没有任何期望。根据GTest规范,这种测试应该会因为“无趣的模拟函数调用”而失败。实际上不是这样的。
代码:
Car.hpp
#pragma once
#include <iostream>
#include <memory>
class EngineIfc;
class Car
{
public:
Car(const std::shared_ptr<EngineIfc> & engine);
我们(三个学生)是CMake的新手。对于一个大学项目,我们必须将GoogleTest纳入我们的代码库中,而且我们在这方面遇到了很多麻烦。
我们有一个gtest_ours.cmake文件:
project("googletests")
enable_testing()
include(GoogleTest)
file(GLOB_RECURSE MY_SRC
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp"
# header don't need to be included but this
我正在尝试在this page的帮助下用MSYS和MinGW构建谷歌测试。 我在MS Windows10家庭版上安装了MinGW和MSYS。到目前为止,我已经在MSYS终端的Google Test源代码目录中运行了这些命令: mkdir build
cd build
cmake -G "MSYS Makefiles" ..
make make命令失败,并显示以下输出: In file included from c:/MinGW/msys/1.0/home/mkkek/googletest-release-1.10.0/googletest/src/gtest-all.
我有一个简单的SConstruct文件来用MinGW构建Google测试库:
env = Environment(platform='posix') # necessary to use gcc and not MS
env.Append(CPPPATH=['googletest/'])
env.Append(CCFLAGS=[('-isystem', 'googletest/include/'), '-pthread'])
obj = env.Object(source='googletest/src/