Comments 15
Хорошая тулза, возможности, показанные в презентации, понравились.
Обязательно посмотрю на выходных
Обязательно посмотрю на выходных
Спасибо, заинтересовало. Обязательно попробую в свободное время.
Именно этого не хватало для того, чтобы попробовать использовать сию дивную штуку.
просмотрел мельком документацию, но не нашел ответа на свой вопрос: Умеет ли codeception работать с параметрами передаваемыми из командной строки?
Смотря какими параметрами. Можно уточнить?
Вот тут про работу с командной строкой:
codeception.com/docs/reference/commands
Вот тут про работу с командной строкой:
codeception.com/docs/reference/commands
это не то :)
Меня интересуют параметры которые можно извлечь во время выполнения теста.
Простой пример. Мне нужно при помощи селениума загрузить файл через соответствующую форму. В зависимости от различных внешних условий файлы могут быть разные. Хотелось бы использовать для этой процедуры один тест и передавать ему например имя файла.
Меня интересуют параметры которые можно извлечь во время выполнения теста.
Простой пример. Мне нужно при помощи селениума загрузить файл через соответствующую форму. В зависимости от различных внешних условий файлы могут быть разные. Хотелось бы использовать для этой процедуры один тест и передавать ему например имя файла.
Интересный use-case.
В чем ограничение. Symfony Console Component не дает возможность указывать сколько угодно параметров. Только стандартные. В остальном же всё вполне можно реализовать. Я бы попытался зашить как-то параметры в БД или в файл или как-то их PHP-скриптом подгонять. Теоретически можно и консоль расширить под эту задачу, но это слишком кастомное решение, делать его стандартным нет смысла.
В чем ограничение. Symfony Console Component не дает возможность указывать сколько угодно параметров. Только стандартные. В остальном же всё вполне можно реализовать. Я бы попытался зашить как-то параметры в БД или в файл или как-то их PHP-скриптом подгонять. Теоретически можно и консоль расширить под эту задачу, но это слишком кастомное решение, делать его стандартным нет смысла.
Получается что все тесты строго статические, что достаточно печально.
Опишу проблему подробнее. Имеется некоторая система отчетности, которая единообразно принимает на вход множество отчетов, но в зависимости от типа отчета производит различные преобразования с данными. Типов отчетов достаточно много и писать на каждый тип отдельный тест неприемлемо. Хотелось бы покрыть все одним тестом, который будет запускаться при помощи CI с различными опциями в зависимости от того какая сборка запущена, на какой среде и т.п.
Может посоветуете как в такой ситуации быть?
Опишу проблему подробнее. Имеется некоторая система отчетности, которая единообразно принимает на вход множество отчетов, но в зависимости от типа отчета производит различные преобразования с данными. Типов отчетов достаточно много и писать на каждый тип отдельный тест неприемлемо. Хотелось бы покрыть все одним тестом, который будет запускаться при помощи CI с различными опциями в зависимости от того какая сборка запущена, на какой среде и т.п.
Может посоветуете как в такой ситуации быть?
Простого решения не посоветую, но можно передавать параметры через ENV переменные…
У вас на каждый тип теста есть свои модули. Хэлперы.
codeception.com/docs/03-Modules#helpers
Там в методе _before мы принимаем параметры, сохраняем их.
А дальше прописываем свой метод тестирования в этом классе.
Запускаем команду «build» и метод будет добавлен в WebGuy.
У вас на каждый тип теста есть свои модули. Хэлперы.
codeception.com/docs/03-Modules#helpers
Там в методе _before мы принимаем параметры, сохраняем их.
А дальше прописываем свой метод тестирования в этом классе.
Запускаем команду «build» и метод будет добавлен в WebGuy.
Спасибо! уже внедрил в проект)
только перенёс codeception.yml и codecept.phar в саму папку tests
конфиг помнял на
запускается теперь так
php tests/codecept.phar run
только перенёс codeception.yml и codecept.phar в саму папку tests
конфиг помнял на
paths: tests: . log: ./_log data: ./_data helpers: ./_helpers settings: bootstrap: _bootstrap.php suite_class: \PHPUnit_Framework_TestSuite colors: true memory_limit: 1024M log: true modules: config: Db: dsn: '' user: '' password: '' dump: ./_data/dump.sql
запускается теперь так
php tests/codecept.phar run
Удобный инструмент. Спасибо.
P.S. Возник вопрос, возможно ли при вызове метода хэлпера вернуть результат, чтоб его можно было использовать в сценарии тестирования?
P.S. Возник вопрос, возможно ли при вызове метода хэлпера вернуть результат, чтоб его можно было использовать в сценарии тестирования?
Увы, нет. Может в следующих версиях будет…
Пока лучше результат сохранить в самом хэлпере, а потом дополнительно написать метод, который будет использовать этот результат.
Пока лучше результат сохранить в самом хэлпере, а потом дополнительно написать метод, который будет использовать этот результат.
Понятно… Спасибо за ответ
Ответ неправильный, да? Давайте поменяю :)
Так вот, можно
Подробнее о последнем апдейте: codeception.com/08-07-2012/major-codeception-update.html
Так вот, можно
<?php
$user_name = $I->grabTextFrom('#user_name');
$I->fillField('username', $user_name);
?>
Подробнее о последнем апдейте: codeception.com/08-07-2012/major-codeception-update.html
Sign up to leave a comment.
Скринкаст: Знакомство с Codeception