检索SelectList项的计数?

mor*_*pdx 6 unit-testing asp.net-mvc-2

问题:我无法访问a中的项目数 SelectList

我有一个返回SelectList的HtmlHelper方法:

public static SelectList FilterSelectList(this HtmlHelper helper, List<Stuff> eList, string dept)
{
 List<Stuff> returnList = new List<Stuff>();

 //Do Stuff    

 return new SelectList(returnList, "ID", "Name");
}
Run Code Online (Sandbox Code Playgroud)

然后我进行了测试,确认过滤器已正确完成:

// Arrange
List<Stuff> eList = MVCMocks.GetList();
string dept = "T";
int expectedCount = eList.FindAll(e => e.Dept == dept).Count;

// Act
var actual = HtmlHelpers.FilterSelectList(helper, eList, dept);

// Assert
Assert.AreEqual(expectedCount, actual.Count, "The list was not properly filtered.");
Run Code Online (Sandbox Code Playgroud)

调用会actual.Count导致错误.

我希望这只是我的一个愚蠢疏忽的例子,但我一直在敲打这个问题.证明我是对的!:)

编辑:我试过的东西

actual.Count
actual.Count()
actual.Items.Count()
actual.GetEnumerator().?
Run Code Online (Sandbox Code Playgroud)

Cra*_*ntz 7

你需要actual.Count()(注意parens!)actual.Count.

  • 那么你的测试类中没有`using System.Linq`. (3认同)