我有一个我正在尝试测试的方法,需要测试是否引发错误。如果员工存储库抛出错误,我想确保我得到 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;
}