小编Old*_*Fox的帖子

无法将带有[]的索引应用于"Castle.Proxies.RangeProxy"类型的表达式

导致此异常的原因是什么?我试图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)

c# excel unit-testing moq mocking

1
推荐指数
1
解决办法
130
查看次数

Linq查询可在Web应用程序上运行,但在使用NUnit时会引发错误

我在服务上有一个方法,该方法使用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()',该方法不能转换为商店表达式。

c# testing linq-to-entities nunit unit-testing

1
推荐指数
1
解决办法
44
查看次数

验证最小起订量单元测试方法返回值

我使用 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 以外的值,我希望测试失败。

c# asp.net unit-testing moq

0
推荐指数
1
解决办法
1万
查看次数

从List <string>中删除部分字符串

我有一个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#提供了大量的功能接口来与这种数据结构进行交互,我想开始使用它.

c# linq select

-2
推荐指数
1
解决办法
91
查看次数

标签 统计

c# ×4

unit-testing ×3

moq ×2

asp.net ×1

excel ×1

linq ×1

linq-to-entities ×1

mocking ×1

nunit ×1

select ×1

testing ×1