У меня есть следующий сценарий:Какова стратегия модульного тестирования для переадресации вызовов метода?
public class CarManager { .. public long AddCar(Car car) { try { string username = _authorizationManager.GetUsername(); ... long id = _carAccessor.AddCar(username, car.Id, car.Name, ....); if(id == 0) { throw new Exception("Car was not added"); } return id; } catch (Exception ex) { throw new AddCarException(ex); } } public List AddCars(List cars) { List ids = new List(); foreach(Car car in cars) { ids.Add(AddCar(car)); } return ids; } }
Я насмешливый из _reportAccessor, _authorizationManager и т.д.
Теперь я хочу UnitTest класс CarManager. Должен ли я иметь несколько тестов для AddCar(), такие как
AddCarTest() AddCarTestAuthorizationManagerException() AddCarTestCarAccessorNoId() AddCarTestCarAccessorException()
Для AddCars() я должен повторить все предыдущие тесты, как AddCars() вызывает AddCar() - похоже, повторяя себя? Должен ли я, возможно, не называть AddCar() из AddCars()? < p />
Пожалуйста, помогите.
код не полностью отображается, пытаясь исправить – Xerx 2008-09-19 11:19:07