![](/img/trans.png)
[英]C# NUnit(3.11) SetUp/OneTimeSetUp and TearDown/OneTimeTearDown functions not invoked on test run
[英]C# NUnit SetUp and TearDown functions not running when using SpecFlow
我正在尝试使用NUnit和Selenium创建自动化测试,但是无法使SetUp和TearDown函数正常工作。
[Binding] [SetUpFixture]
public class AuthenticatorSteps
{
IWebDriver _driver;
WebDriverWait wait;
string username;
string password;
[SetUp]
public void SetUp()
{
_driver = new ChromeDriver();
wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(10));
}
[TearDown]
public void TearDown()
{
_driver.Close();
}
[Given(@"I am on the site")]
public void GivenIAmOnTheSite()
{
_driver.Manage().Window.Maximize();
_driver.Navigate().GoToUrl("https://qa02-ukcasino.bedegaming.net");
wait.Until(x => x.FindElement(By.CssSelector(AuthenticatorElements.LoginButton)));
}
他们根本没有被召集。 如果我将代码放在步骤本身中,则我正在使用的代码会起作用,但是这需要我添加一个步骤。 然后,当我应该能够使用TearDown函数时,浏览器应该关闭。
这是单元测试吗?
将您的[SetUpFixture]
更改为[TestFixture]
。
(注意:如果您使用的是NUnit 2.5或更高版本,则可以删除[TestFixture])
后者用于一次设置,而前者用于每次测试的设置。
这是SpecFlow测试吗?
我还假设您将SpecFlows测试运行程序设置为NUnit 。
您需要使用BeforeScenario
或BeforeFeature
属性,而不是NUnit属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.