我想要做模擬擴展方法,但它不起作用。如何才能做到這一點?NSubstitute模擬擴展方法
public static class RandomExtensions
{
public static IEnumerable<int> NextInt32s(this System.Random random, int neededValuesNumber, int minInclusive, int maxExclusive)
{
// ...
}
}
[Fact]
public void Select()
{
var randomizer = Substitute.For<DefaultRandom>();
randomizer.NextInt32s(3, 1, 10).Returns(new int[] { 1, 2, 3 });
}
AFAIK你不能用免費的嘲笑框架嘲笑擴展方法。因爲擴展方法只是靜態方法,所以你不能用免費的嘲諷框架來嘲笑靜態方法。 TypeMock這樣做我認爲(但這超出了問題)。 – 2015-02-24 10:56:30