2014-02-20 4 views
6

Ich versuche, Mspec ShouldBeOfType<T>() Assertion Extension-Methode zu verwenden, aber Intellisense sagt, dass es nicht finden kann. Ich verwende MSpec v0.7.0. Ich habe versucht, mit Nuget neu zu installieren, aber nicht funktioniert.Warum fehlt MSPEcs ShouldBeOfType <T> Assertion Extension-Methode?

[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; 
} 

Antwort

10

Ab der Version 0.7.0 enthalten Machine.Specifications Behauptungen nicht mehr (siehe Daniel Marbach's blog). Sie müssen Machine.Specifications.Should (oder eine andere Assertions-Bibliothek) installieren.

Zusätzlich hat ShouldBeOfType() mit ShouldBeOfExactType() (oder ShouldBeAssignableTo() respectively) ersetzt worden ist, so dass Sie auch, dass in Ihrem Code ändern sollen (siehe github issue.

+0

Vielen Dank für die Antwort :) – AllSpark

+0

diese brechende Änderung viel gefangen hat aus Leute – MattDavey

+0

Irgendeine Idee, warum die Zusicherungen jetzt in einer getrennten Bibliothek existieren? Ist Flexibilität hinsichtlich der Verwendung von Assertions-Bibliotheken möglich? –