Когда я пишу тесты для простого приложения asp.net mvc 3, я заметил кое-что о тесте, который я написал вслепую в прошлом.
[TestMethod]
public void Add_Saves_Object()
{
var rep = new Mock<IRepository>();
rep.Setup(x => x.Save<Object>(It.IsAny<Object>())).Returns(new Object() {Id = 1});
var pick = rep.Object.Save<Pick>(new Object());
Assert.IsNotNull(pick);
Assert.AreEqual(1, pick.Id);
}
Предполагается, что я протестировал свою реализацию IRepository в хранилище данных «в памяти», а метод Save правильно возвращает объект (так как я проверяю свой репозиторий). Поскольку мои тесты репозитория проходят успешно, нужно ли мне проверять, правильно ли мой контроллер вызывает репозиторий и получает объект обратно из метода save? Этот тест добавляет ценность? Стоит ли время, чтобы написать это?
Если я добавлю кривую к этому сценарию, т. Е. Метод SaveObject на моем контроллере перенаправляет на другое действие, как бы я протестировал перенаправление?