C++ 在C+中管理集成测试+;

C++ 在C+中管理集成测试+;,c++,unit-testing,netbeans,integration-testing,cppunit,C++,Unit Testing,Netbeans,Integration Testing,Cppunit,我正在使用Netbeans开发一个具有单元测试和集成测试的企业项目。我使用CPPUNIT开发单元测试,但我有一个问题。 正如你们所知道的,单元测试应该很快,所以我开发了它们,很小,我可以在每次需要的时候使用IDE插件来运行它们。但是集成测试是一种耗时的测试,不能经常运行。那么我应该把它们存放在哪里呢? 如果我把他们投入另一个项目,他们的管理将成为一场噩梦。如果我把它们放在当前项目中,我不能告诉Netbeans它们不应该在执行单元测试时运行。 你对我的问题有什么看法? < P>我假设你正在使用NB

我正在使用Netbeans开发一个具有单元测试和集成测试的企业项目。我使用CPPUNIT开发单元测试,但我有一个问题。 正如你们所知道的,单元测试应该很快,所以我开发了它们,很小,我可以在每次需要的时候使用IDE插件来运行它们。但是集成测试是一种耗时的测试,不能经常运行。那么我应该把它们存放在哪里呢? 如果我把他们投入另一个项目,他们的管理将成为一场噩梦。如果我把它们放在当前项目中,我不能告诉Netbeans它们不应该在执行单元测试时运行。
你对我的问题有什么看法?

< P>我假设你正在使用NB-Buffd Bug管理(=默认C++项目)。这是非常棘手的;您可以尝试使用不同的配置,但这并不完美

我的建议是使用专门的构建工具,比如。这将允许您在一个项目中对单元测试和集成测试进行清晰的分离

因此,您的项目可能如下所示:

<project>
|
+-- src/
|
+-- include/
|
+-- test/ (unit tests)
|
+-- integration/ (integration tests)
|
…

|
+--src/
|
+--包括/
|
+--测试/(单元测试)
|
+--集成/(集成测试)
|
…
您可以使用不同的make目标
;例如,
makeunittest
makeintegrationtest
。还可以根据需要禁用每种测试(这样它们就不会编译/携带依赖项)

在构建设置中,您甚至可以设置,默认情况下,unittests应该是构建的,并在每次构建后执行,而您可以在需要时手动运行集成测试


顺便说一句,从现在起,项目不再绑定到IDE。您可以使用您想要的任何工具进行开发+持续集成服务器也可以处理它。

我的想法是将单元测试和集成测试分开。我知道这一点,但问题是如何解决?