2017 © Pedro PelΓ‘ez
 

yii2-extension yii-matcher

Test case like shoulda matchers for Yii 2.x

image

developeruz/yii-matcher

Test case like shoulda matchers for Yii 2.x

  • Monday, July 20, 2015
  • by DeveloperUz
  • Repository
  • 1 Watchers
  • 5 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Класс для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ тСстирования ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Yii2

Π§Ρ‚ΠΎ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ? Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Yii-Ρ„Ρ€Π΅ΠΈΠΌΠ²ΠΎΡ€ΠΊΠ° протСстировали ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Но ΠΎΠ½ΠΈ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅Π·Π°Π±Ρ‹Π»ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ unit-тСсты для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π”Π°Π½Π½Ρ‹ΠΉ класс ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ тСстированиС ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ., (*1)

Установка:

$ 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() - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ связСй

ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° имя Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ - сцСнарий., (*2)

PS: Π‘ Ρ€Π°Π΄ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠΌΡƒ pull-request с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ matcher-Π°ΠΌΠΈ. Или ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² issue ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Π΅ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Ρ‹ стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, (*3)

The Versions

20/07 2015

dev-master

9999999-dev

Test case like shoulda matchers for Yii 2.x

  Sources   Download

MIT

The Requires

 

yii unit test

20/07 2015

0.0.3

0.0.3.0

Test case like shoulda matchers for Yii 2.x

  Sources   Download

MIT

The Requires

 

yii unit test

19/07 2015

0.0.2

0.0.2.0

Test case like shoulda matchers for Yii 2.x

  Sources   Download

MIT

The Requires

 

yii unit test

19/07 2015

0.0.1

0.0.1.0

Test case like shoulda matchers for Yii 2.x

  Sources   Download

MIT

The Requires

 

yii unit test