小编JGr*_*ves的帖子

检查对象时,NUnit Has.Member失败

我有以下NUnit测试:

[Test]
    public void GetComplexRulesTestContents()
    {
        var _rule = new RuleViewModel(null, "third rule", "description");
        var result = _complexRulesService.GetComplexRules();

        Assert.That(result, Has.Member(_rule));

    }
Run Code Online (Sandbox Code Playgroud)

从_complexRulesService.GetComplexRules()调用的代码是:

public IEnumerable<IRuleViewModel> GetComplexRules()
    {

        IEnumerable<RuleViewModel> _rules;
        _rules = new List<RuleViewModel>
                     {
                         new RuleViewModel(null, "first default rule", "description"),
                         new RuleViewModel(null, "second default rule", "description"),
                         new RuleViewModel(null, "third rule", "description")
                     };
        return _rules;
    }
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

PL.Web.MVC.Rules.Tests.ComplexRulesServiceTests.GetComplexRulesTestContents:
Expected: collection containing <PL.Web.MVC.Models.Rules.RuleViewModel>
But was:  < <PL.Web.MVC.Models.Rules.RuleViewModel>, PL.Web.MVC.Models.Rules.RuleViewModel>, <PL.Web.MVC.Models.Rules.RuleViewModel> >
Run Code Online (Sandbox Code Playgroud)

我已经尝试过来自http://www.nunit.org/index.php?p=collectionConstraints&r=2.5.5的测试,他们都通过了.

我做错了什么?

感谢您的帮助!

c# ienumerable nunit unit-testing

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

标签 统计

c# ×1

ienumerable ×1

nunit ×1

unit-testing ×1