Mock в PHPUnit + Stabs
Простой и наглядный пример использования моков и стабов для PHPUnit: $mock = $this->getMock(‘Yandex’, array(‘send’)); $mock->expects($this->once())->method(‘send’)->will($this->returnValue(‘success’));
Блог разработчика: Golang, Криптовалюты, Автоматизация, Kubernetes
Простой и наглядный пример использования моков и стабов для PHPUnit: $mock = $this->getMock(‘Yandex’, array(‘send’)); $mock->expects($this->once())->method(‘send’)->will($this->returnValue(‘success’));
Ниже представлен пример сборки билда и прогона codeception тестов для проекта Yii2. Далее после прогона тестов и завершения сборки вы можете выгрузить свой артефакт на S3 либо на FTP(SFTP) сервера через CI сервис Codeship. Пример команд сборки: # We support…
Read more
Deployer.php — это система деплоя вашего php кода, написанная на PHP. Представляет она из себя набор готовых «рецептов», которые вы можете использовать и автоматически доставлять ваш код на нужные вам машины. Для проекта, написанного на Yii c шаблоном basic я…
Read more
Простейший тест для проверки валидации формы с файлами под Yii2. Требуется поместить в папку _data тестов тестовый файл чтобы можно было проводить сравнения. public function testUpload() { $fileUploader = new FileUploaderForm(); $uploadedFile = new UploadedFile(); $uploadedFile->name = «test.jpg»; $uploadedFile->tempName = __DIR__.»/../_data/test.jpg»; $uploadedFile->type…
Read more
Composer жрет очень много памяти на машине, и в случае если машина имеет памяти не так много он будет вечно обрываться с надписью Killed. Проще всего сделать на локальном dev компьютере: composer update Затем перетащить на сервер composer.lock и просто…
Read more
Теперь вы можете сами установить на своем сервере и подключить скрипт удвоитель биткойн совершенно бесплатно! Core ядро доступно на Github: https://github.com/Sassoft/Cryptocoin Для установки достаточно прочитать инструкции в README.md Скрипт создан на базе фреймворка Yii 2.0.* Для работы с BTC используется библиотека…
Read more
В PhpStorm в саму IDE встроена панель тестирования phpunit тестов. Но зная что в Yii2 сразу из коробки идет Codeception, который включает в себя также и сам phpunit и плюс дополнительный более удобный метод написания тестов, вывод самих unit тестов…
Read more
Для решения данной проблемы нужно отредактировать файл /etc/phpmyadmin/config.inc.php и прописать техническую таблицу phpmyadmin. 1) Прописываем таблицу phpmyadmin: cd /usr/share/doc/phpmyadmin/examples sudo gunzip create_tables.sql.gz mysql -u root -p < create_tables.sql mysql -u root -p -e ‘GRANT SELECT, INSERT, DELETE, UPDATE ON phpmyadmin.*…
Read more
Меняем правильную тайм зону для PHP интерпретатора. Открываем INI конфигурацию: /etc/php/apache2-php5.4/php.ini Ищем запись с data.timezone и ставим нужный часовой пояс: date.timezone = Europe/Moscow Меняем часовой пояс на Ubuntu. Текущая дата на сервере: date Текущий часовой пояс: more /etc/timezone Чтобы поменять…
Read more
Для тестирования приватных методов класса через PHPUnit можно воспользоваться специальным классом ReflectionClass, забрать нужный приватный метод и сделать его доступным. Все это делается динамически и при помощи таких движений можно тестировать абсолютно любые методы класса разной области видимости. Приведем пример:…
Read more