我有以下内容:
[TestFixture]
public class SmokeTest : BaseTest
{
[Test(Description = "Should Do This")]
public void ShouldDoThis()
{
//Tests,Assertions,etc
}
[Test(Description = "Should Do That")]
public void ShouldDoThat()
{
//Tests,Assertions,etc
}
}
将BaseTest定义为:
[TestFixture]
public class BaseTest
{
[TestFixtureSetUp]
public void SetUp()
{
// set up browsers
}
[TearDown]
public void Dispose()
{
// dispose browsers
}
}
目标是每个testFixture(//设置浏览器)创建一次selenium浏览器的驱动程序,然后在Fixture的末尾拆除。现在浏览器在第一次测试后被杀死了,第二次测试失败了一些“无法连接到远程服务器”错误。
我想在这里找出第一个问题 - 为什么在第一次测试后调用TearDown方法?
答案 0 :(得分:6)
您需要在基础测试中使用TestFixtureTearDown
属性而不是TearDown
属性。 TestFixtureTearDown
属性将导致该方法仅在灯具中的所有测试结束时运行。