Инструмент для автоматической генерации тестов PHPUnit? - PullRequest
6 голосов
/ 27 февраля 2012

Мне было интересно - есть ли инструмент, который будет смотреть на мой PHP-код и автоматически генерировать для него тест PHPUnit? Или есть такой инструмент для любого другого языка, который я мог бы перенести на PHP?

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

Даже если в настоящее время нет такого инструмента, может ли такая задача быть выполнимой или я что-то упускаю?

Ответы [ 2 ]

4 голосов
/ 03 марта 2012

Оказывается, в настоящее время не существует инструмента, который бы делал это, поэтому я написал один (с помощью моих коллег).Не завершено - достаточно просто изучить концепцию.С помощью PHP-парсера nikic (https://github.com/nikic/PHP-Parser), можно найти все вызовы методов в методах класса, а затем для них можно создать mock.

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

2 голосов
/ 28 февраля 2012

Маловероятно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...