【发布时间】:2016-03-22 15:01:49
【问题描述】:
我正在尝试设计一个测试套件,以便在我的所有测试之前运行全局初始化。我们可以考虑在不同的类和命名空间中存在测试。在 NUnit 文档中,我只找到了一个名为 OneTimeSetUp 的属性,但它仅适用于同一命名空间中的测试。
所以,我设计了使用继承。我所有的测试类都继承了一个基础测试类,他的构造函数在其中进行全局初始化(借助静态变量来检查它是否已初始化),并且与析构函数中的全局拆除相同。
使用它我可以创建我的场景。但是当测试套件运行时,基测试类会创建新对象,因为在不同的类和命名空间中有测试。它会导致系统过载,并且下一个测试运行缓慢:第一个测试在 50 秒内运行,而另一个(执行相同操作但在不同命名空间中)在 120 秒内运行。
有更好的方法来创建全局初始化和全局拆卸而不影响测试性能
【问题讨论】:
标签: c# testing selenium-webdriver nunit