Модульное тестирование доктрин ORM моделей - PullRequest
1 голос
/ 18 декабря 2010

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

$user = new User();
$user->username = "user1";
$user->password = "password";
$em->persist($user);
$em->flush();

тогда редактирование будет похоже

$user = /* get user */
$user->email = "new@email.com";
$em->flush();

что-то в этом роде. Единственная функциональность, которую я, вероятно, добавлю, - это регистрация пользователя и изменение пароля для обработки запроса пароля и проверки наличия имени пользователя.

Может быть, другое дело - добытчики и сеттеры? Довольно тривиальная вещь? Как ты это сделаешь?

public function testCanSetUsername() {
    $user->username = "Hello";
    $this->assertEquals("Hello", $this->username);
}

Просто так?

1 Ответ

1 голос
/ 18 декабря 2010

Вы должны написать тесты истории, которые гарантируют, что код делает то, что хочет пользователь.Это звучит как простое утверждение, но это самые важные тесты.Они действительно проверяют, что приложение делает, а не как.Вы увидите, что эти тесты в конечном итоге охватывают код, который у вас есть в вашем вопросе.

Например, у вас могут быть такие тесты, как:

  • регистрация пользователей на веб-сайте
  • пользователь меняет пароль
  • и т. Д.

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

...