Why is MSpec's ShouldBeOfType<T> assertion extension method missing?

StackOverflow https://stackoverflow.com/questions/21916387

  •  14-10-2022
  •  | 
  •  

質問

I'm trying to use Mspec's ShouldBeOfType<T>() assertion extension method, but intellisense says that it can't find it. I'm using MSpec v0.7.0. I tried reinstalling using Nuget but didn't work.

[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;
}
役に立ちましたか?

解決

As of version 0.7.0, Machine.Specifications does not include assertions any more (see Daniel Marbach's blog). You have to install Machine.Specifications.Should (or another assertions library).

Additionally, ShouldBeOfType() has been replaced with ShouldBeOfExactType() (or ShouldBeAssignableTo() respectively), so you should also change that in your code (see github issue.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top