Представление разработки через тестирование в PHP

Я предлагаю сделать это с INI-файлом. Простой пример ниже:

config.ini

[app]
user = myuser
pass = 123123
stage = 1

ваша конфигурация init:

Config::init(parse_ini_file('app.ini'));

parse_ini_file document щелкните здесь

5
задан womp 16 July 2009 в 06:26
поделиться

5 ответов

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

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

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

4
ответ дан 14 December 2019 в 13:45
поделиться

Упростите написание тестов , а результаты видимыми .

  • Используйте TestFramework с хорошей документацией. например SimpleTest
  • Если проверка зависит от содержимого базы данных, создайте справочную базу данных, которая будет удалена и создана в начале сценария.
  • Создайте сценарий, который запускает все тесты и показывает результаты на автономном мониторе или что-то, что сделает тест видимым / легкодоступным. (Запуск командной строки не вариант)

Я лично не пишу тесты для каждого фрагмента кода в приложении.
Сосредоточьтесь на объектах домена в приложении. В моем случае это «расчет цены» и «изменение запасов»

. Напомните им, что они, вероятно, уже пишут тесты, но что они удаляют свою работу сразу после создания. Пример: во время разработки функции у вас будет страница / тестовый скрипт с результатом echo или var_dump (). После проверки результата вручную вы измените параметры функции и снова выполните проверку.

При некоторых дополнительных усилиях эти тесты можно автоматизировать в модуле UnitTest. А какой программист не любит автоматизировать?

2
ответ дан 14 December 2019 в 13:45
поделиться

Что касается командного вопроса, а также универсальных идей о разработке и тестировании программного обеспечения, я бы предложил веб-сайт и книги Джоэла Спольски: http://joelonsoftware.com/ I получил от него много идей.

0
ответ дан 14 December 2019 в 13:45
поделиться

SimpleTest - отличная документация и объяснения по тестированию для php

0
ответ дан 14 December 2019 в 13:45
поделиться

Другой способ запустить TDD - это попытаться использовать инфраструктуру PHP. Без фреймворка сложно эффективно реализовать модульное тестирование.

0
ответ дан 14 December 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: