当测试 运行 时,C# 中的 nUnit SetupFixture class 未被调用
nUnit SetupFixture class in C# not being called when tests are run
我的解决方案是这样设置的,使用 SpecFlow Gherkin 功能
解决方案
- 测试项目
-- 功能
-- 步骤
- 页面项目
-- 页数
我 运行 nUnit 测试 运行ner 使用如下命令:
"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" ".\bin\Dev\Solution.dll"
并且我已经将这段代码添加到上面项目结构的步骤文件夹中。
using System;
using NUnit.Framework;
namespace TestsProject.StepDefinitions
{
/// <summary>
/// This class needs to be in the same namespace as the StepDefinitions
/// see: https://www.nunit.org/index.php?p=setupFixture&r=2.4.8
/// </summary>
[SetUpFixture]
public class NUnitSetupFixture
{
[SetUp]
public void RunBeforeAnyTests()
{
// this is not working
throw new Exception("This is never-ever being called.");
}
[TearDown]
public void RunAfterAnyTests()
{
}
}
}
我做错了什么?为什么 [SetupFixture]
在 nUnit 开始所有测试之前不被调用?
对 SetUpFixture
使用 OneTimeSetUp
和 OneTimeTearDown
属性,因为您使用的是 NUnit 3.0 而不是 SetUp
和 TearDown
属性,详见 here.
using System;
using NUnit.Framework;
namespace TestsProject.StepDefinitions
{
[SetUpFixture]
public class NUnitSetupFixture
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
//throw new Exception("This is called.");
}
[OneTimeTearDown]
public void RunAfterAnyTests()
{
}
}
}
我的解决方案是这样设置的,使用 SpecFlow Gherkin 功能
解决方案
- 测试项目
-- 功能
-- 步骤
- 页面项目
-- 页数
我 运行 nUnit 测试 运行ner 使用如下命令:
"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" ".\bin\Dev\Solution.dll"
并且我已经将这段代码添加到上面项目结构的步骤文件夹中。
using System;
using NUnit.Framework;
namespace TestsProject.StepDefinitions
{
/// <summary>
/// This class needs to be in the same namespace as the StepDefinitions
/// see: https://www.nunit.org/index.php?p=setupFixture&r=2.4.8
/// </summary>
[SetUpFixture]
public class NUnitSetupFixture
{
[SetUp]
public void RunBeforeAnyTests()
{
// this is not working
throw new Exception("This is never-ever being called.");
}
[TearDown]
public void RunAfterAnyTests()
{
}
}
}
我做错了什么?为什么 [SetupFixture]
在 nUnit 开始所有测试之前不被调用?
对 SetUpFixture
使用 OneTimeSetUp
和 OneTimeTearDown
属性,因为您使用的是 NUnit 3.0 而不是 SetUp
和 TearDown
属性,详见 here.
using System;
using NUnit.Framework;
namespace TestsProject.StepDefinitions
{
[SetUpFixture]
public class NUnitSetupFixture
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
//throw new Exception("This is called.");
}
[OneTimeTearDown]
public void RunAfterAnyTests()
{
}
}
}