Как покрыть заявления Linq из модульных тестов?

Я имею UpdateEmployees() метод, который обновляет данные всех сотрудников.

При написании модульного теста для этого метода, он не охватывает 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();
}

1 ответ

OrderBy будет покрыт, если он перечислен в List:

var employees = _repository.GetAllEmployees().OrderBy(x => x.Name).ToList();
Другие вопросы по тегам