C # NUnit (3.11) Функции SetUp / OneTimeSetUp и TearDown / OneTimeTearDown не вызываются при тестовом запуске

Методы атрибутов Setup и Teardown не вызываются с использованием Nunit-3.11 и Visual Studio - 2017

using GV5Base;

namespace DBPAutomation.Test
{
    [TestClass]
    public class Training
    {
        public IWebDriver driver;

        // initializing the driver and open the browser 
        [SetUp]
        public void BrowserInitialize()
        {
            Base bs = new Base();
            bs.SetBrowser("Chrome");
            driver = bs.driver;

        }
    }
}

namespace Base
{
    [TestClass]
    class Base
    {
        public IWebDriver driver;
        public string TestUrl = "http://google.com";

        public void SetBrowser(string browser)
        {
            if(browser == "Chrome")
            {
                this.driver = new ChromeDriver();
                driver.Navigate().GoToUrl(TestUrl); 
            }
            else if(browser == "IE")
            {
                IWebDriver driver = new InternetExplorerDriver();
                driver.Navigate().GoToUrl(TestUrl);

            }
        }

При выполнении появляется System.NullReferenceException: Object reference not set to an instance of an object. Поскольку метод установки не вызывается. Также пробовали с OneTimeSetup и OneTimeTeardown, даже эти параметры не работают.


person vindhyab    schedule 09.09.2019    source источник


Ответы (1)


Вы используете TestClass из MSTest, поэтому он не знает, как использовать атрибут SetUp и другие. Вам следует удалить атрибут TestClass или заменить его на TestFixture. Атрибут TestFixture не требуется, если NUnit обнаруживает метод, который имеет атрибут, например, Test, TestCase, TestCaseSource.

person Lukasz Szczygielek    schedule 09.09.2019
comment
извините, решение, предоставленное вами, не сработало. Но изменение OneTimeSetup и OneTimeTeardown на [TestInitialize] и [TestCleanup] сработало. - person vindhyab; 10.09.2019
comment
Вы используете MSTest, а не NUnit, поэтому вам пришлось изменить атрибуты. - person Lukasz Szczygielek; 10.09.2019