所有.cc文件只在其中一个更改后重建

时间:2013-08-15 10:05:37

标签: c++ visual-studio visual-studio-2012 tdd googletest

我的应用程序中的每个类都有一个.h和.cc文件。然而,在我的单元测试项目中,情况有所不同。在这里,我为每个我想测试的应用程序类都有一个gtest单元测试类,每个类只在 .cc 文件中定义和声明。所以没有.h。

我做出了这个决定,因为我觉得我不需要.h文件:

  • 我不会在其他地方重复使用测试课,因为这很痛苦,而且
  • 执行tdd时,在testx.h,testx.cc,x.cc,x.h,ix.h,mockz.h等等之间一直跳转。
    • 我想的文件少了一个。

我为每个测试.cc文件获取.obj文件,但至少在VS2012中,一个此类文件的更改会导致重建所有其他测试.cc文件。

请注意,在这种情况下,正在测试的课程没有被重建,只有这些“有趣”.cc文件,我有我的测试。这样的文件看起来像这样:

TestX.cc:

#include <gtest/gtest.h>
#include "X.h"
#include "factory/YFactory.h"

namespace A
{

class TestX : public ::testing::Test
{
protected:
    TestX() {
    }
};

TEST_F (TestX, firstTest)
{
    EXPECT_TRUE(true);
}
}

您认为我执行此类测试是错误的吗?如果没有,为什么他们一直在重建?

目前解决此问题我只包括我正在实现的类的测试.cc文件。所有其他文件都保留在项目中。

0 个答案:

没有答案