是否合理/可能使用Nunit的配置来改变测试行为?

时间:2009-05-13 00:31:32

标签: unit-testing nunit

我在开发服务器上运行了大约20个测试套件。我想要一种简单的方法切换到Alpha服务器并运行相同的20个测试。但我不想每次都在所有服务器上运行它们。通常我会在Dev上运行测试,直到它们都是绿色,然后将代码转换为Alpha,运行测试等。在Dev上进行许多迭代,在Alpha上进行一些迭代,然后理论上在堆栈上的每个服务器上运行一次到Release。

现在实现的方法是使用TestFixture中的变量。这一切都很好 - 但每次我想要改变环境时都需要重建。但是我看到了Configurations的一个菜单,我觉得这很好用。为每个环境添加配置,指向该配置,运行测试并在正确的服务器上运行。那里有一些臭硬编码:假设环境的名称必须与目标测试环境的名称相匹配。我可以忍受这一点。

第一个问题:有更好的方法吗? 第二个问题:这甚至可能吗?我无法找到在TestFixture级别读取这些配置的方法。

1 个答案:

答案 0 :(得分:1)

只需使用标准的.NET配置文件即可。应用程序或配置元素。任何dll(包括测试)都可以读取它们。例如。 mytest.dll的mytest.dll.config,我们为“组件”或“集成”测试执行此操作,这些测试具有一些外部依赖性,例如sql server。测试必须知道服务器的位置。

关于单元测试的必要注意事项:请注意,您正在讨论验收或集成测试。有价值,但维护和缓慢昂贵。你应该只有很少的那些,并且应该有更多的单元测试(这不关心服务器在哪里)。