c# - 当 Assert 语句在不同的方法中时使用 NUnit Multiple Assert

标签 c# testing automation nunit assert

我正在为每个步骤使用 NUnit 断言运行自动化 BDD 步骤,即 Then And 我的 UI 测试。

NUnit 断言仅限于每个方法。这意味着如果方法中的断言失败,则不会运行其他步骤。

我正在考虑使用 NUnit Multiple Assert 但这需要所有断言在一起。有什么想法吗?

BDD Steps

Then I am shown results for("foo")
And the page count is(3)

我正在使用 LightBDDhttps://github.com/LightBDD/LightBDD

// Then Step
private void ThenIAmShownResultsFor(string expectedResults)
{
    Assert.AreEqual(expectedResults, actual);
}

// And Step
private void AndThePageCountIs(int expectedResults)
{
    Assert.AreEqual(expectedResults, actual);
}

最佳答案

参见 this article .依赖于另一个结果的测试应该模拟那些其他测试或方法。每个测试都应该完全与任何其他测试分离。您应该永远、永远、永远使一个测试依赖于另一个测试的结果。如果一个测试依赖于另一个测试的结果,则需要模拟另一个测试的响应。

代码,假设_foo

// And Step
private void AndThePageCountIs(int expectedResults)
{
   actual = _foo.Setup(x => x.ThenIAmShownResultsFor()).Returns(expectedResults);
   Assert.AreEqual(expectedResults, actual);
}

关于c# - 当 Assert 语句在不同的方法中时使用 NUnit Multiple Assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833793/

相关文章:

c# - 在 appdomain 中加载静态类

c# - 调用命令接口(interface)时异步测试场景失败

ruby-on-rails - 测试(测试单元)元标记的名称和内容以确保内容不为空

windows - 如何以编程方式/远程执行 EC2 Windows 实例中的程序

git - 最佳实践 - Git + 构建自动化 - 保持配置独立

java - 填写应用程序登录表单的简单代码

C#:HTML 电子邮件模板字体颜色不起作用

c# - 依赖注入(inject) (DI) "friendly"库

c# - 检查数字是否是完全平方数(数字超过 15 位)

mongodb - meteor Mocha 测试订阅