当Assert语句采用不同的方法时,使用NUnit Multiple Assert

问题描述 投票:0回答:1

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

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

我在考虑使用NUnit Multiple Assert,但这要求所有断言都在一起。有任何想法吗?

BDD Steps

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

我正在使用LightBDD图书馆https://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);
}
c# testing automation nunit assert
1个回答
0
投票

this article。您依赖另一个测试结果的测试应该模拟其他测试或方法。每个测试应该与任何其他测试完全分离。你永远不应该做一个依赖于另一个测试结果的测试。如果测试依赖于另一个测试的结果,则需要模拟其他测试的响应。

代码,假设_foo

// And Step
private void AndThePageCountIs(int expectedResults)
{
   actual = _foo.Setup(x => x.ThenIAmShownResultsFor()).Returns(expectedResults);
   Assert.AreEqual(expectedResults, actual);
}
© www.soinside.com 2019 - 2024. All rights reserved.