C# Lambda函数导致编译器错误,参数为0,异常为1或更多
我在带有Moq的C#.NET核心环境中使用lambda函数。更具体地说,我在如下设置方法中使用它:C# Lambda函数导致编译器错误,参数为0,异常为1或更多,c#,lambda,moq,xunit,stub,C#,Lambda,Moq,Xunit,Stub,我在带有Moq的C#.NET核心环境中使用lambda函数。更具体地说,我在如下设置方法中使用它: MockObject.Setup(o => o.GetList()).Returns<List<DifferentClass>>(() => Task.FromExisting(existingList)); 堆栈跟踪引用同一行代码 下面是示例代码: 测试: public class UnitTest1 { static readonly Mock&l
MockObject.Setup(o => o.GetList()).Returns<List<DifferentClass>>(() => Task.FromExisting(existingList));
堆栈跟踪引用同一行代码
下面是示例代码:
测试:
public class UnitTest1
{
static readonly Mock<IMyClass> MockObject;
static UnitTest1()
{
MockObject = new Mock<IMyClass>();
var existingList = new List<DifferentClass>();
// Line causing exception below
MockObject.Setup(o => o.GetList()).Returns<List<DifferentClass>>(() => Task.FromExisting(existingList));
}
// Tests go here...
[Fact]
Test1()
{
//...
}
}
公共类UnitTest1
{
静态只读模拟对象;
静态UnitTest1()
{
MockObject=newmock();
var existingList=新列表();
//导致以下异常的行
MockObject.Setup(o=>o.GetList())。返回(()=>Task.fromExistingList));
}
//测试在这里进行。。。
[事实]
Test1()
{
//...
}
}
这是模拟类IMyClass:
public interface IMyClass
{
Task<List<DifferentClass>> GetList();
}
公共接口IMyClass
{
任务GetList();
}
我的两个选择似乎是抛出异常或编译失败。我不确定我能在这里做什么。如果我缺少什么,请告诉我。给定模拟接口的定义,只需调用
.ReturnsAsync(existingList)代码>和类型将被推断
static UnitTest1()
{
MockObject = new Mock<IMyClass>();
var existingList = new List<DifferentClass>();
MockObject
.Setup(o => o.GetList())
.ReturnsAsync(existingList);
}
static UnitTest1()
{
MockObject=newmock();
var existingList=新列表();
模拟对象
.Setup(o=>o.GetList())
.ReturnsAsync(现有列表);
}
public class UnitTest1
{
static readonly Mock<IMyClass> MockObject;
static UnitTest1()
{
MockObject = new Mock<IMyClass>();
var existingList = new List<DifferentClass>();
// Line causing exception below
MockObject.Setup(o => o.GetList()).Returns<List<DifferentClass>>(() => Task.FromExisting(existingList));
}
// Tests go here...
[Fact]
Test1()
{
//...
}
}
public interface IMyClass
{
Task<List<DifferentClass>> GetList();
}
static UnitTest1()
{
MockObject = new Mock<IMyClass>();
var existingList = new List<DifferentClass>();
MockObject
.Setup(o => o.GetList())
.ReturnsAsync(existingList);
}