Как написать модульный тест перед кодом класса? - PullRequest
3 голосов
/ 21 мая 2010

Я пытаюсь привыкнуть к написанию модульных тестов перед началом занятий. Какие подсказки может дать мне сообщество переполнения стека вместе с любыми полезными ресурсами.

Спасибо

Ответы [ 4 ]

2 голосов
/ 21 мая 2010

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

Теперь у вас есть рамки для вашего класса. Ваша первая цель должна состоять в том, чтобы сделать тест компиляцией, добавив все методы, используемые в классе. Затем выполните тестирование, правильно внедрив методы.

Boom - Test Driven Development входит в ваше резюме! : -)

1 голос
/ 21 мая 2010

Вот довольно хорошее место для начала. Он содержит очень хороший учебник по TDD с полным списком ссылок на дополнительные ресурсы:

http://www.agiledata.org/essays/tdd.html

0 голосов
/ 22 мая 2010

Обычно я делаю свой TDD (с помощью PHPUnit), создавая набор бизнес-правил как часть PHPDocs для моего класса или сценария. Я не пишу код, только бизнес-правила (например, Foo выдаст исключение, если ... и т. Д.). После этого я начинаю писать тестовые случаи, которые касаются каждого бизнес-правила. Я обнаружил, что написание бизнес-правил сначала помогает мне установить некоторые границы, а контрольные примеры формируют реальный код.

0 голосов
/ 21 мая 2010

У меня есть только один указатель:

Подумайте о том, что должен делать метод и как он должен себя вести, а не о том, как вы собираетесь его кодировать.

Это позволит вам планировать юнит-тесты без написания какого-либо кода (или даже планирования).

...