Codeception - cest和cept有什么区别?

aBh*_*jit 28 php testing tdd codeception

我刚开始使用TDD方法并遇到了代码问题.

我在网上搜索了很多,但没有找到正确的解释或区分cest和代码中的cept文件.

Ale*_*chi 56

他们的格式是唯一的区别.

Cept是一种基于场景的格式,Cest是一种基于类的格式.

Cept示例:

<?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');
Run Code Online (Sandbox Code Playgroud)

Cest例子:

<?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');            
    }
}
Run Code Online (Sandbox Code Playgroud)

非开发人员可能会发现Cept格式更加友好和平易近人.PHP开发人员可能更喜欢Cest格式,它能够支持每个文件的多个测试,并通过添加额外的私有函数轻松重用代码.

最后,这只是一个品味问题,您可以选择您喜欢的格式.