#include "this/package/foo.h"
#include <gtest/gtest.h>
namespace my {
namespace project {
namespace {
class FooTest : public ::testing::Test {
protected:
FooTest() {
~FooTest() override {
void SetUp() override {
void TearDown() override {
TEST_F(FooTest, MethodBarDoesAbc) {
const std::string input_filepath = "this/package/testdata/myinputfile.dat";
const std::string output_filepath = "this/package/testdata/myoutputfile.dat";
Foo f;
EXPECT_EQ(f.Bar(input_filepath, output_filepath), 0);
TEST_F(FooTest, DoesXyz) {
}
}
}
int main(int argc, char **argv)
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
::testing::InitGoogleTest()函数解析命令行中的GoogleTest标志,并删除所有已识别的标志。这允许用户通过各种标志来控制测试程序的行为,我们将在高级指南中介绍这些标志。在调用RUN_ALL_TESTS()之前必须调用此函数,否则标志将无法正确初始化。
在Windows上,InitGoogleTest()也可以处理宽字符串,因此也可以在以UNICODE模式编译的程序中使用。
Google Test提供了一个基本的main()实现。只需将测试与gtest_main库链接即可。
总的来说,Google Test是一个功能强大且易于使用的C++单元测试框架。它提供了丰富的功能和灵活的测试风格,可以帮助开发者编写高质量的测试代码,并提供了测试覆盖率报告和多平台支持等特性。