5

我有以下内容:

    [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 方法?

4

1 回答 1

6

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

于 2013-10-08T21:32:59.763 回答