C# xunit测试以查看列表中是否存在特定值

C# xunit测试以查看列表中是否存在特定值,c#,xunit,C#,Xunit,我正在写x单元测试 我想检查列表是否包含新添加的值 我尝试了下面的代码,但没有得到结果 _record.Add(new PortfolioCompanyLinkModel { Id = 3, PortfolioCompanyId = 1, URL = "www.historiclreports2.com", LinkName = "Historical Reports", ToBeDeleted = false, IsExternalLink = false, LinkId = 1 }); _r

我正在写x单元测试

我想检查列表是否包含新添加的值

我尝试了下面的代码,但没有得到结果

_record.Add(new PortfolioCompanyLinkModel { Id = 3, PortfolioCompanyId = 1, URL = "www.historiclreports2.com", LinkName = "Historical Reports", ToBeDeleted = false, IsExternalLink = false, LinkId = 1 });
_record.Add(new PortfolioCompanyLinkModel { Id = 4, PortfolioCompanyId = 1, URL = "www.SalesForce.com", LinkName = "SalesForce", ToBeDeleted = false, IsExternalLink = false, LinkId = 2 });
var repo = new PortfolioCompanyLinkRepository(dbContext, obj.HttpContextAccessor);
var update = await repo.GetOne(2);
_record.Add(new PortfolioCompanyLinkModel { Id = update.Id, PortfolioCompanyId = update.PortfolioCompanyId, URL = "www.historiclreportstest.com", LinkName = update.Link.Name, ToBeDeleted = false, IsExternalLink = true, LinkId = update.LinkId });
var delete = await repo.GetOne(1);
_record.Add(new PortfolioCompanyLinkModel { Id = delete.Id, PortfolioCompanyId = delete.PortfolioCompanyId, URL = delete.URL, LinkName = delete.Link.Name, ToBeDeleted = true, IsExternalLink = delete.Link.IsExternalLink, LinkId = delete.LinkId });
await repo.AddUpdateDelete(_record);
await repo.SaveAsync();

var actual = await repo.GetAll();
Assert.Collection(actual, item => Assert.Contains("www.historiclreports2.com", item.URL));

如何检查actual是否将www.historicreports2.com作为URL?

要执行此操作,您需要挑出要在其上声明的记录。这可以通过多种方式实现,但我的实现方式始终如下所示:

var-recordInQuestion=actual.Where(x=>x.URL
.Equals(“www.historicreports2.com”))
.SingleOrDefault();
Assert.NotNull(recordInQuestion)

其他选择包括:

Assert.Single(实际的.Where(x=>x.URL.Equals(“www.historicreports2.com”))

Assert.True(actual.Any(x=>x.URL.Equals(“www.historicreports2.com”))

在将记录分配给变量的
SingleOrDefault()
中使用第一个选项,可以轻松地对该对象的数据执行多个断言。

Assert.True(actual.Any(x=x.Url==“www.historicreports2.com”)