Я должен использовать много издевательств, чтобы проверить свой уровень обслуживания, это нормально? - PullRequest
0 голосов
/ 02 мая 2018

Так что я довольно новичок в тестировании, и хотя для меня это имеет большой смысл, некоторые вещи просто не чувствуются правильными.

Например: допустимо ли использовать довольно много макетов для тестирования метода?

В частности, я тестирую свой сервисный уровень, у которого есть метод для записи даты. Есть много проверок правдоподобия, поэтому это выглядит примерно так: (не фактический код)

public bool BookDate(Person person, int dateId, MyRoom room...)
{
  var date = this.dateRepo.Get(dateId)
  if (date == null) return false

  if (!this.personService.Get(person.id)) return false;

  if (!this.personService.IsValidPerson(person)) return false;

  ... more validations
}

Таким образом, метод должен выполнять проверки, которые, в свою очередь, зависят от предоставленных данных, разумеется (если они сами не являются интерфейсами). Тестирование различных случаев означает много насмешек.

Кроме того, мне часто приходится повторять насмешки, чтобы пройти валидацию и перейти к тому, что я хочу протестировать (например, дальше по методу, передавая много if)

Как мне легче это проверить? Я мог бы разделить метод на вспомогательные методы, но опять же, чтобы высмеивать те, которые мне пришлось бы выставлять их в моем интерфейсе, хотя сам по себе они бесполезны для других классов.

...