2010-10-13 65 views
2

我在C#/ NUnit中开发了一套相当大的集成测试。目前它是一个测试夹具,一个类。在[TestFixtureSetUp]中,我使用脚本创建数据库,并使用测试数据填充数据,同样也使用脚本。我的测试不会修改数据,因此它们可以按任何顺序或并行运行。如何布置我的集成测试

我的问题是,我有太多的测试和文件越来越大,所以它看起来很丑,我的ReSharper变得缓慢。我想分割文件,但我真的只想创建我的测试数据库一次。作为一项临时措施,我动它确实实际检测到的其他类的静态方法的代码,并从单一TextFixture类调用它们,如下所示:

[Test] 
public void YetAnotherIntegrationTest() 
{ 
    IntegrationTestsPart5.YetAnotherIntegrationTest(connection); 
} 

然而,它仍然看起来丑陋,我觉得应该有是更好的方法。

我使用VS 2008,升级到2010,现在,和SQL Server 2005

回答

3

你可以让测试类拆分成跨多个档案几个部分类。这样你可以保留一个[TestFixtureSetup]并将文件分割为清洁。

+0

为我工作,谢谢! – 2010-10-18 17:11:58

2

您可以考虑将数据库连接包装在sigleton类中,该类将在创建单例实例时初始化数据库。然后,您可以拥有尽可能多的测试类,只需从单例中获取数据库连接即可。

+0

+1它的工作,谢谢! – 2010-10-18 17:13:00

1

我创建包含安装方法的基类。然后,您只需继承它,不必在任何测试类中调用任何设置数据库的任何内容。