Pull to refresh

Comments 15

Хорошая тулза, возможности, показанные в презентации, понравились.
Обязательно посмотрю на выходных
Спасибо, заинтересовало. Обязательно попробую в свободное время.
Именно этого не хватало для того, чтобы попробовать использовать сию дивную штуку.
просмотрел мельком документацию, но не нашел ответа на свой вопрос: Умеет ли codeception работать с параметрами передаваемыми из командной строки?
это не то :)
Меня интересуют параметры которые можно извлечь во время выполнения теста.
Простой пример. Мне нужно при помощи селениума загрузить файл через соответствующую форму. В зависимости от различных внешних условий файлы могут быть разные. Хотелось бы использовать для этой процедуры один тест и передавать ему например имя файла.
Интересный use-case.

В чем ограничение. Symfony Console Component не дает возможность указывать сколько угодно параметров. Только стандартные. В остальном же всё вполне можно реализовать. Я бы попытался зашить как-то параметры в БД или в файл или как-то их PHP-скриптом подгонять. Теоретически можно и консоль расширить под эту задачу, но это слишком кастомное решение, делать его стандартным нет смысла.
Получается что все тесты строго статические, что достаточно печально.
Опишу проблему подробнее. Имеется некоторая система отчетности, которая единообразно принимает на вход множество отчетов, но в зависимости от типа отчета производит различные преобразования с данными. Типов отчетов достаточно много и писать на каждый тип отдельный тест неприемлемо. Хотелось бы покрыть все одним тестом, который будет запускаться при помощи CI с различными опциями в зависимости от того какая сборка запущена, на какой среде и т.п.

Может посоветуете как в такой ситуации быть?
Простого решения не посоветую, но можно передавать параметры через ENV переменные…
У вас на каждый тип теста есть свои модули. Хэлперы.
codeception.com/docs/03-Modules#helpers
Там в методе _before мы принимаем параметры, сохраняем их.
А дальше прописываем свой метод тестирования в этом классе.
Запускаем команду «build» и метод будет добавлен в WebGuy.
Спасибо! уже внедрил в проект)

только перенёс 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. Возник вопрос, возможно ли при вызове метода хэлпера вернуть результат, чтоб его можно было использовать в сценарии тестирования?
Увы, нет. Может в следующих версиях будет…
Пока лучше результат сохранить в самом хэлпере, а потом дополнительно написать метод, который будет использовать этот результат.
Понятно… Спасибо за ответ
Sign up to leave a comment.

Articles