我有一个我正在尝试测试的方法,需要测试是否引发错误。如果员工存储库抛出错误,我想确保我得到 EmployeeServiceError 回来。我正在使用 FakeItEasy 模拟框架。
这是 FakeItEasy 代码:
//  Arrange
        var service = new EmployeeService(mockEmployeeRepository, mockCryptographer, mockApplicationUserRepository, mockEmployeeAddressRepository);
        IEnumerable<EmployeeDTO> employeeDTOs;
        //  Act
        employeeDTOs = service.GetEmployees();
        //  Assert
// How do I check the EmployeeServiceException thrown?
        A.CallTo(() => mockEmployeeRepository.GetAllForUi())
            .Throws(new NullReferenceException());
这是我正在测试的方法:
public IEnumerable<EmployeeDTO> GetEmployees()
        {
            IEnumerable<EmployeeDTO> employeeDTOs = null;
            try
            {
                var employees = _employeeRepository.GetAllForUi();
                employeeDTOs = Mapper.Map(employees, employeeDTOs);
            }
            catch (Exception exception)
            {
                throw new EmployeeServiceException(exception);
            }
            return employeeDTOs;
        }