0

Codeceptionをダウンロードしてインストールしました。次の手順を使用しました: http://codeception.com/thanks テストを作成して実行した後、次のエラーが発生します。

Fatal error: Call to protected method Codeception\TestCase\Test::_before() from context 'Codeception\Subscriber\Cest' in phar://C:/xampp/htdocs/codeceptiontest/codecept.phar/src/Codeception/Subscriber/Cest.php on line 11

私の単体テストは次のとおりです。

<?php
use \CodeGuy;
use \User; // My own class

class UserCest extends \Codeception\TestCase\Test
{
    private $user;

    protected function _before()
    {
        $this->user = new User();
    }

    protected function _after()
    {
        // Do nothing
    }

    // tests
    public function changeUsername(CodeGuy $I) 
    {        
        $I->wantTo("change my username");
        $I->amGoingTo("name my user Tim");
        $this->user->setName("Tim");
        $this->assertEquals($this->user->getName(), "Tim");
        $this->assertTrue(true);
    }
}

クラスが拡張されていない場合\Codeception\TestCase\Test_before()関数は呼び出されず、アサート関数は機能しません。

どんな提案でも大歓迎です。

4

1 に答える 1

2

_before() と _after() を公開しようとしましたか?

Codeception のドキュメントは悲しいことに多くの場所で古くなっています。最近の変更のかなりの部分が、ドキュメントに記載されている例を壊しています。

于 2014-03-12T12:08:09.833 に答える