使用GoogleTest测试文件读取

时间:2015-02-19 20:49:16

标签: c++ googletest

我正在尝试使用Google Test测试文档阅读器。 我的代码组织如下:有一个Document类打开文件。一个文档包含一个或多个Element,它是struct,其指针(field)指向wstring和value。 显然我想打开文件一次,然后循环各种Elements

class DocumentTest : public ::testing::Test {
protected:
  virtual void SetUp() {
  string path = "path/to/file";
  Document doc;
  doc.Open(path);      
}

  Element* el;
  el = doc.Read();
};

TEST_F(DocumentTest, ReadTest) {
    while (file has still elements) {
      wchar_t* expectedField = L"expectingThis";
      wchar_t* readString = el->field;
      EXPECT_EQ(expectedField,readString);
    }

但这显然不起作用。我应该在哪里声明我的初始代码?

1 个答案:

答案 0 :(得分:1)

https://github.com/google/googletest/blob/master/googletest/docs/advanced.md

一般来说,googletest允许三种不同的资源管理模式:

  • SetUpTearDown()(在每个测试功能之前和之后运行)
  • SetUpTestCase()TearDownTestCase()(在每个课程之前和之后运行,或“案例”)
  • 分别在第一次和最后一次测试之前/之后运行的Environment类。