为什么缺少MSpec的ShouldBeOfType <t>断言扩展方法?</t>

时间:2014-02-20 18:24:33

标签: mspec

我正在尝试使用Mspec的ShouldBeOfType<T>()断言扩展方法,但intellisense说它无法找到它。我正在使用MSpec v0.7.0。我尝试使用Nuget重新安装,但没有用。

[Subject("Prop Manager")]
public class When_Replying_To_Prop_Which_Already_Had_Emailed_And_No_Overwrite
{
    Because of = () => _exception = Catch.Exception(() => _PropManager.ReplyToProp());

    It should_result_in_an_error = () => _exception.ShouldBeOfType<InvalidOperationException>();

    private static Exception _exception;
}

1 个答案:

答案 0 :(得分:10)

从版本0.7.0开始,Machine.Specifications不再包含断言(请参阅Daniel Marbach's blog)。您必须安装Machine.Specifications.Should(或其他断言库)。

此外,ShouldBeOfType()已被ShouldBeOfExactType()(或ShouldBeAssignableTo()分别取代),因此您也应在代码中更改该内容(请参阅github issue