我有一个具有IEnumerable<object>属性的类:
interface ICore {
IEnumerable<object> enumerable { get; }
}我需要替换这个IEnumerable<object>的返回值。我已经联系了Returns,然而,我收到一条消息,告诉我它在IEnumerable上不可用。
有什么想法吗?
发布于 2017-02-10 22:17:45
NSubstitute可以很好地与IEnumerable接口配合使用。下面是一个例子:
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
namespace NSubstitute.Acceptance.Specs.FieldReports
{
[TestFixture]
public class SO_42159342
{
public interface ICore
{
IEnumerable<object> Enumerable { get; }
}
[Test]
public void Test()
{
var sub = Substitute.For<ICore>();
sub.Enumerable.Returns(Enumerable.Empty<object>());
sub.Enumerable.Returns(new List<object>());
sub.Enumerable.Returns(_ => new[] {new object()});
Assert.True(sub.Enumerable.Count() == 1);
}
}
}https://stackoverflow.com/questions/42159342
复制相似问题