导致此异常的原因是什么?我试图Moq
用来模拟一个Microsoft.Office.Interop.Excel.Range
.我想在Range
里面筑巢另一个嘲笑.但是当我尝试访问嵌套异常时,会抛出异常.
例外
无法将带有[]的索引应用于"Castle.Proxies.RangeProxy"类型的表达式
码
[TestMethod]
public void RangeProxyIndexTest()
{
// creating first range
var cell1 = new Moq.Mock<Range>();
cell1.Setup(c => c.Value2).Returns("1");
var range1Mock = new Moq.Mock<Range>();
range1Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(cell1.Object);
var range1 = range1Mock.Object;
// creating second range
var cell2 = new Moq.Mock<Range>();
cell2.Setup(c => c.Value2).Returns("2");
var range2Mock = new Moq.Mock<Range>();
range2Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(cell2.Object);
var range2 = range2Mock.Object;
// merging both ranges into 1
var range3Mock = new Moq.Mock<Range>();
range3Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(range1); …
Run Code Online (Sandbox Code Playgroud) 我在服务上有一个方法,该方法使用Linq To Entities选择如下数据:
var test = _repository.DbSet().
.Select(t => new CustomClass
{
Count = t.Count.ToString(),
}).ToList();
Run Code Online (Sandbox Code Playgroud)
它适用于我的asp.net mvc
应用程序,但是通过调用方法时会引发以下错误Nunit
:
附加信息:LINQ to Entities无法识别方法'System.String ToString()',该方法不能转换为商店表达式。
我使用 Moq 编写了以下类和测试类:
public class Mytest : testin
{
public int getId(int id)
{
int s = 2;
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
测试类:
private Mock<testin> _mock;
[TestInitialize]
public void Setup()
{
_mock = new Mock<testin>();
}
[TestMethod]
public void returngetId()
{
// Build up our mock object
_mock.Setup(x => x.getId(It.IsAny<int>())).Returns(1)
}
Run Code Online (Sandbox Code Playgroud)
我从函数返回2,并在单元测试用例中检查值1。根据我的理解,测试用例应该失败。但我收到成功消息。我如何验证返回值正是我所期望的?如果它返回 1 以外的值,我希望测试失败。
我有一个List<string>
,表示我需要过滤掉的文件名的字符串部分:必须删除包含在字符'&'之前的任何内容.
List<string> zippedTransactions = new List<string>();
zippedTransactions.Add("33396&20151007112154000549659S03333396SUMMARIES.PDF");
zippedTransactions.Add("33395&20151007112400000549659S03333395SUMMARIES.PDF");
zippedTransactions.Add("33397&20151007112555000549659S03333397SUMMARIES.PDF");
// desired output:
// "20151007112154000549659S03333396SUMMARIES.PDF";
// "20151007112400000549659S03333395SUMMARIES.PDF";
// "20151007112555000549659S03333397SUMMARIES.PDF"
Run Code Online (Sandbox Code Playgroud)
注意:我不想给它经典的迭代式外观,因为C#提供了大量的功能接口来与这种数据结构进行交互,我想开始使用它.