Php Codeception-cest和cept之间的区别是什么?

Php Codeception-cest和cept之间的区别是什么?,php,testing,tdd,codeception,Php,Testing,Tdd,Codeception,我刚开始使用TDD方法,遇到了codeception 我在网上搜索了很多次,但没有找到对codeception中的cest和cept文件的正确解释或区分。并不是说我是codeception专家,而是这个描述可能会有所帮助-。它们的格式是唯一的区别 Cept是基于场景的格式,Cest是基于类的格式 除了例子: 如果您的Cest有两种测试方法,如 <?php class UserCest { public function test1(\AcceptanceTester $I)

我刚开始使用TDD方法,遇到了codeception


我在网上搜索了很多次,但没有找到对codeception中的
cest
cept
文件的正确解释或区分。

并不是说我是codeception专家,而是这个描述可能会有所帮助-。

它们的格式是唯一的区别

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

除了例子:
如果您的Cest有两种测试方法,如

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

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

对我来说,它不起作用,总是只运行第一个测试,但当我将文件从Cept重命名为Cest时,我后来意识到,它不可避免地开始对所有方法起作用,而不仅仅是第一个混淆的方法。只有链接的答案在Stackoverflow上被认为是低质量的
<?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');            
    }
}
<?php
class UserCest
{
    public function test1(\AcceptanceTester $I) 
    {
        $I->see('Hello john');            
    }

    public function test2(\AcceptanceTester $I) 
    {
        $I->see('Hello jeff');            
    }
}
<?php
$I = new AcceptanceTester($scenario);
$I->see('Hello john');
<?php
$I = new AcceptanceTester($scenario);
$I->see('Hello jeff');