“应该”抛出ShouldAssertException而不是显示结果

时间:2016-06-18 15:51:20

标签: c# visual-studio unit-testing assertion

我已经通过nuget包管理器Nunit安装了NUnitTestAdapter和Shouldly extension,其中IMO比nunit中的常规断言更易读。

但是当它运行我的测试时,断言会抛出ShouldAssertException并正确描述断言不匹配,而不是在Visual Studio 2015中的测试资源管理器中显示结果。

C#中的示例代码:

[Test]
public void Charge_ShouldBeOneHundred_WhenCartContainsTwoProducts_WhichCostsFifty()
{
    // Arrange
    Item item = a(Item().withPrice(50.0).withQuantity(2));
    ItemCollection items = a(Items().withItem(item));
    ShoppingCart cart = a(Cart().withItems(items));

    // Act
    cart.Checkout();

    // Assert

    cart.Payment.Value.ShouldBe(100.0);
}

如何在test explorer中显示它?

1 个答案:

答案 0 :(得分:0)

在我的VS 2015测试资源管理器窗口中,使用一个人为的示例应该正确显示结果

    [TestMethod]
    public void ShouldyExample()
    {
        var payment = 40.0;
        payment.ShouldBe(50.0);
    }

enter image description here

运行测试后,测试资源管理器窗口中会显示什么?