Всем доброго времени суток!
Руководство захотело, что бы был осуществлен переход на nunit 3. До этого успешно работал на nunit2, по Тренингу "C# для тестировщиков" от Алексея Баранцева (NUnit 2 Singleton). Сейчас, если я запускаю свои тесты в проекте с nunit3 не закрывается окно браузера после прогона тестов. Почитал документацию про nunit3, понял, что изменилась логика метода Teardown. На данный момент, не могу понять, как правильно сделать так, что бы после прогона тестов, делался OneTimeTearDown.
Сейчас, рабочий код под версию nunit 2 выглядит вот так:
ApplicationManager.cs
public static ApplicationManager GetInstance() { if (! app.IsValueCreated) { ApplicationManager newInstance = new ApplicationManager(); newInstance.Navigator.GoToHomePage(); newInstance.Order.CloseCookieNotification(); newInstance.Order.WaitForNotification(); app.Value = newInstance; } return app.Value; } ~ApplicationManager() { try { driver.Quit(); } catch (Exception ex) { Console.WriteLine("Error!!!!! " + ex); } }
TestBase.cs
public class TestBase { protected ApplicationManager app; [SetUp] public void SetupTest() { app = ApplicationManager.GetInstance(); } }
Если запускаю проект с nunit 3.9.0, то программа не попадает в Destructor. Он просто игнорируется. И после прогона всех тестов (в одном окне браузера), программа останавливается с выводом результата в Test Explorer, и браузер не закрывается. Если запускаю проект с nunit 2.7.1 - все работает корректно, деструктор вызывается после прогона тестов и окно браузера успешно закрывается.
Прошу помощи, заранее благодарю за ответы! =)