我有一个名为 Cars
的类,它有两个属性,即 Count
和 Name
。
public class Cars
{
public string Name { get; set; }
public int Count{ get; set; }
}
我正在尝试对我的存储库层进行单元测试,但无法正确获取 Count
的值。
这是我的单元测试
public void GetCarStats()
{
var mockRepo = new VehicleRepository();
var result = mockRepo.GetCarStats(Guid.Parse("9F733662-FP4E-69DC-AX600-A4C250F9E166"));
Assert.NotEmpty(result);
Assert.Equal(1, result.Count);
var cars= result.Where(x => x.Count > 0).Select( v => v.Count);
Assert.Equal(6, cars);//This statement is failing
}
谁能帮帮我?
最佳答案
这个声明
var cars= result.Where(x=>x.Count>0).Select(v=>v.Count);
会给你一个IEnumerable<int>
你正试图将它与一个数字 6
进行比较,这应该会失败。
根据您的需要,您可以获得First
元素并将其与 6
进行比较或者你可以使用 Sum
得到计数的总数。
var cars= result.Where(x=>x.Count>0).Select(v=>v.Count).FirstOrDefault();
Assert.Equal(6,cars);//This statement is failing
如果您对根据您的条件返回的记录总数感兴趣 count > 0
然后使用 Count
而不是 Select(v=> v.Count)
喜欢:
var cars = result.Where(x => x.Count > 0).Count();
或
var cars = result.Count(x=> x.Count > 0);
关于c# - 获取计数和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33738003/