developeruz/yii-matcher
最新稳定版本:0.0.3
Composer 安装命令:
composer require developeruz/yii-matcher
包简介
Test case like shoulda matchers for Yii 2.x
关键字:
README 文档
README
Что и зачем тестировать? Разработчики Yii-фреимворка протестировали и гарантируют правильную работу правил валидации. Но они не гарантируют, что вы незабыли их прописать в модели или позже не удалили некоторые из них. Поэтому важно писать unit-тесты для моделей. Данный класс облегчит тестирование правил валидации ваших моделей.
Установка:##
$ php composer.phar require developeruz/yii-matcher "*"
Пример использования:##
use developeruz\yii_matcher\ModelMatcher; class ValidateTest extends TestCase { public function testPhoneIsSafeOnlyInRegistration() { $userModel = new ModelMatcher('app\models\User'); $userModel->shouldBeSafe('phone', 'registration'); $userModel->shouldBeNotSafe('phone'); } public function testUserHasPostsRelation() { $userModel = new ModelMatcher('app\models\User'); $userModel->hasMany('posts', 'app\models\Post', ['user_id' => 'id']); } public function testLoginLength() { $userModel = new ModelMatcher('app\models\User'); $userModel->matchLength('login', 3, 20); } }
Доступные методы:
- shouldBeSafe() и shouldBeNotSafe() - проверка на возможность массового присвоения атрибута
- shouldBeRequired() и shouldBeNotRequired() - проверка на обязательность заполнения параметра
- matchLength() - проверка на длинну строки. Для того, чтобы провести проверку только на min или max, задайте второй параметр как null.
- hasOne() и hasMany() - проверка на наличие связей
Все методы принимают в качестве параметра имя аттрибута и необязательный параметр - сценарий.
PS: С радостью приму pull-request с дополнительными matcher-ами. Или пишите в issue какие еще валидаторы стоит добавить
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-07-19