How to install Gtest On MacOS and Xcode(如何在MacOS上安装gtest以及XCode使用gtest)

How to install Gtest On MacOS

git clone https://github.com/google/googletest.git 
cd googletest
mkdir build && cd build
cmake -DCMAKE_CXX_STANDARD=17 ..
make
sudo make install


######test
mkdir gtestDemo
vi CMakeList.txt
echo “export CPLUS_INCLUDE_PATH=/usr/local/include" >> ~/.zshrc  

echo "export LIBRARY_PATH=/usr/local/lib" >> ~/.zshrc  
source ~/.zshrc #tell terminal there are new variables  
#CMakeList.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_CXX_STANDARD 17)
project(demo)
find_p
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Test 进行单元测试时,通常不需要使用 `connect` 函数。GTest 框架提供了一系列的宏定义和函数,可以方便地进行测试用例的编写和执行。以下是一个简单的示例代码: ```cpp #include <gtest/gtest.h> // 要测试的函数 int add(int a, int b) { return a + b; } // 定义测试用例 TEST(AddTest, PositiveNumbers) { EXPECT_EQ(add(1, 2), 3); } TEST(AddTest, NegativeNumbers) { EXPECT_EQ(add(-1, -2), -3); } // 执行测试 int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 在上面的代码中,我们定义了一个 `add` 函数,并编写了两个测试用例来测试这个函数的功能。`TEST` 宏定义用于定义一个测试用例,第一个参数是测试用例的名称,第二个参数是测试用例中的测试点名称。在测试用例中,我们使用了 `EXPECT_EQ` 函数来判断实际结果和期望结果是否相等。 在 `main` 函数中,我们使用 `testing::InitGoogleTest` 函数来初始化 GTest 框架,然后使用 `RUN_ALL_TESTS` 函数来执行所有的测试用例。 如果你想要在测试用例中使用 Qt 的信号槽机制,可以使用 `QSignalSpy` 类来捕获信号并检查槽函数是否被正确执行。以下是一个示例代码: ```cpp #include <gtest/gtest.h> #include <QCoreApplication> #include <QSignalSpy> class MyObject : public QObject { Q_OBJECT public: MyObject(QObject* parent = nullptr) : QObject(parent) {} signals: void mySignal(); public slots: void mySlot() { // do something } }; // 定义测试用例 TEST(SignalTest, MyObjectTest) { QCoreApplication app(argc, argv); MyObject obj; QSignalSpy spy(&obj, &MyObject::mySignal); // 发射信号 emit obj.mySignal(); // 检查槽函数是否被正确执行 EXPECT_EQ(spy.count(), 1); } // 执行测试 int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 在上面的代码中,我们定义了一个名为 `MyObject` 的 QObject 子类,并在其中定义了一个信号和一个槽函数。在测试用例中,我们创建了一个 MyObject 对象和一个 QSignalSpy 对象,并使用 `emit` 关键字来发射信号。然后使用 `QSignalSpy::count` 函数来检查槽函数被执行的次数是否为 1。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值