Тестирование xunit, чтобы увидеть, есть ли указанное значение c в списке - PullRequest
0 голосов
/ 07 января 2020

Я пишу x-unit test.

Я хочу проверить, содержит ли список добавленное значение.

Я попробовал приведенный ниже код, но не получил результат

_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));

Как проверить, действительно ли в качестве URL-адреса указан www.historiclreports2.com?

1 Ответ

0 голосов
/ 07 января 2020

Чтобы сделать это, вы хотите выделить запись, на которую хотите заявить. Это можно сделать несколькими способами, но способ, которым я пользуюсь, всегда следующий:

var recordInQuestion = actual.Where(x => x.URL .Equals("www.historiclreports2.com")) .SingleOrDefault(); Assert.NotNull(recordInQuestion);

Другие варианты:

Assert.Single(actual.Where(x => x.URL.Equals("www.historiclreports2.com")));

Assert.True(actual.Any(x => x.URL.Equals("www.historiclreports2.com")))

Использование первого параметра с SingleOrDefault(), в котором запись назначается переменной, позволяет легко выполнять несколько утверждений для данных этого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...