web-dev-qa-db-fra.com

Codeception - Quelle est la difference entre cest et cept?

Je viens de commencer à utiliser l'approche TDD et suis tombé sur la réception de code.

J'ai beaucoup cherché sur le Web, mais je n'ai pas trouvé d'explication ni de distinction entre les fichiers cest et cept dans la réception de code.

26
aBhijit

Leur format est la seule différence.

Cept est un format basé sur des scénarios et Cest est un format basé sur des classes.

Cept exemple:

<?php    
$I = new AcceptanceTester($scenario);
$I->wantTo('log in as regular user');
$I->amOnPage('/login');
$I->fillField('Username','john');
$I->fillField('Password','secret');
$I->click('Login');
$I->see('Hello john');

Cest exemple:

<?php
class UserCest
{
    public function loginAsRegularUser(\AcceptanceTester $I) 
    {
        $I->wantTo('log in as regular user');
        $I->amOnPage('/login');
        $I->fillField('Username','john');
        $I->fillField('Password','secret');
        $I->click('Login');
        $I->see('Hello john');            
    }
}

Les non-développeurs peuvent trouver le format Cept plus convivial et abordable. Les développeurs PHP préféreront peut-être le format Cest , capable de prendre en charge plusieurs tests par fichier et de réutiliser facilement le code en ajoutant des fonctions privées supplémentaires.

En fin de compte, tout est une question de goût et vous pouvez choisir le format que vous préférez.

53

Si vous avez un test avec 2 méthodes de test comme

<?php
class UserCest
{
    public function test1(\AcceptanceTester $I) 
    {
        $I->see('Hello john');            
    }

    public function test2(\AcceptanceTester $I) 
    {
        $I->see('Hello jeff');            
    }
}

C'est l'équivalent de Test1Cept.php:

<?php
$I = new AcceptanceTester($scenario);
$I->see('Hello john');

test2Cept.php:

<?php
$I = new AcceptanceTester($scenario);
$I->see('Hello jeff');

Il n'y a que 2 façons différentes de structurer votre code de test

1
B4rb4ross4

Je ne suis pas un expert en codeception, mais cette description peut aider - http://codeception.com/docs/07-AdvancedUsage .

0
Larry Borsato