0
У меня есть метод UpdateEmployees()
, который обновляет данные всех сотрудников.Как покрыть заявления Linq от модульных тестов?
При написании модульного теста для этого метода он не покрывает заявление OrderBy()
. Как я могу получить покрытие кода для заказа по инструкции.
Я использовал измерение единицы измерения Moq.
//This Method returns list of employee
Public void UpdateEmployees()
{
var employees = _repository.GetAllEmployees().OrderBy(x => x.Name);
// Some Update operations below.
}
//Unit Test for GetAllEmployee Method.
Public void UnitTest()
{
var employees = new Fixture.Build<Employee>().Createmany(5).ToList();
var moqRepository = new Mock<IRepository>(MockBehavior.Strict);
moqRepository.Setup(r => r.GetAllEmployees()).Returns(employees)
var employee = new Employee(moqRepositort.Object);
employee.UpdateEmployees();
}
Try 'result.SequenceEqual (employees.OrderBy (е => e.Name));' – artm
@artm - извинение я модифицированную метод. Мой метод не имеет типа возврата. Это недействительный метод. – TBAG
Что вы имеете в виду, как получить покрытие кода? Если ваш метод использует содержимое 'employees' и есть как минимум два элемента, предложение OrderBy будет всегда выполняться. Как вы узнали, что этот код не распространяется? –