gpt4 book ai didi

function - 如何为返回 void 和 void * 的函数编写 googletest 测试用例?

转载 作者:行者123 更新时间:2023-12-02 01:54:33 24 4
gpt4 key购买 nike

我正在尝试使用 googletest 测试返回 void 和 void* 的函数。我只是一个初学者,直到现在我才使用 EXPECT 来测试代码。

请让我知道如何为 void 和 void * 函数编写测试用例。

示例代码会很有帮助。 :)

谢谢

最佳答案

这是您的 Add 的示例功能,还有 throw Divide功能:

#include <stdexcept>
#include "gtest/gtest.h"

int global_sum(0), global_quotient(0);

void Add(int a, int b) {
global_sum = a + b;
}

void Divide(int numerator, int divisor) {
if (divisor == 0)
throw std::logic_error("Can't divide by 0.");
global_quotient = numerator / divisor;
}

TEST(Calculator, Add) {
EXPECT_EQ(0, global_sum);

Add(1, 2);
EXPECT_EQ(3, global_sum);

Add(-1, 1);
EXPECT_EQ(0, global_sum);
}

TEST(Calculator, Divide) {
EXPECT_EQ(0, global_quotient);

EXPECT_NO_THROW(Divide(2, 1));
EXPECT_EQ(2, global_quotient);

EXPECT_THROW(Divide(1, 0), std::logic_error);
EXPECT_EQ(2, global_quotient);

EXPECT_NO_THROW(Divide(1, 2));
EXPECT_EQ(0, global_quotient);
}

int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

关于function - 如何为返回 void 和 void * 的函数编写 googletest 测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20947324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com