如何使每个夹具的安装和拆卸工作?

Rob*_*ous 5 c# nunit

我有以下内容:

    [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
        }

    }
Run Code Online (Sandbox Code Playgroud)

BaseTest定义为:

   [TestFixture]
   public class BaseTest
   {
    [TestFixtureSetUp]
    public void SetUp()
    {
        // set up browsers
    }
    [TearDown]
    public void Dispose()
    {
        // dispose browsers
    }
   }
Run Code Online (Sandbox Code Playgroud)

目标是每个testFixture(//设置浏览器)创建一次selenium浏览器的驱动程序,然后在Fixture的末尾拆除.现在浏览器在第一次测试后被杀死了,第二次测试失败了一些"无法连接到远程服务器"错误.

我想在这里针对第一个问题 - 为什么在第一次测试后调用TearDown方法?

adr*_*nks 6

您需要在基础测试中使用TestFixtureTearDown属性而不是TearDown属性.该TestFixtureTearDown属性将使该方法在夹具中的所有测试结束时运行一次.