是否可以在程序集中的所有测试之前和之后执行方法?

bog*_*ger 23 c# selenium nunit

我想为selenium ui自动化建立一个nunit项目.我想在运行所有测试(所有测试)之前登录到站点,并在运行所有测试(所有测试)之后关闭浏览器.

我无法使用SetUp,因为它与灯具有关,我想在一切之前和之后都这样做.

你知道谁来执行它吗?


我熟悉SetUp和TearDown属性.让我再解释一下.

我需要在所有灯具的所有测试开始之前执行一些逻辑(AKA - 整个装配中的第一次测试)以及在所有灯具的所有测试结束后执行的一些逻辑(AKA - 整个装配中的最后一次测试).

mat*_*dev 27

如果所有测试装置都在同一名称空间内,那么您可以使用该[SetUpFixture]属性将类标记为全局设置和拆卸.然后,您可以将所有登录/注销功能放在那里.

NUNIT 2.x

namespace MyNamespace.Tests
{
    using System;
    using NUnit.Framework;

    [SetUpFixture]
    public class TestsSetupClass
    {
        [SetUp]
        public void GlobalSetup()
        {
            // Do login here.
        }

        [TearDown]
        public void GlobalTeardown()
        {
            // Do logout here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请参阅:http: //www.nunit.org/index.php?p = setupFixture&r = 2.4

NUNIT 3.x

namespace MyNamespace.Tests
{
    using System;
    using NUnit.Framework;

    [SetUpFixture]
    public class TestsSetupClass
    {
        [OneTimeSetUp]
        public void GlobalSetup()
        {
            // Do login here.
        }

        [OneTimeTearDown]
        public void GlobalTeardown()
        {
            // Do logout here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请参阅:https: //github.com/nunit/docs/wiki/SetUpFixture-Attribute

  • 在NUnit 3.x中,它现在是`[OneTimeSetUp]`和`[OneTimeTearDown]` (6认同)

Ros*_*son 8

当然.这就是[TestSetUp][TearDown]属性的用途.不要用混淆[TestFixtureSetUp][TestFixtureTearDown],这第一次测试之前和之后的最后执行.