PHPUnitのsetUpBeforeClassおよびtearDownAfterClassメソッドと同様に、特定のCest内のすべてのテストの前に何かを実行してから、すべてのテストを実行した後にクリーンアップします。CEST内のすべてのテストの前にコード化を実行する
「コードシップ」でこれを行う方法はありますか?
PHPUnitのsetUpBeforeClassおよびtearDownAfterClassメソッドと同様に、特定のCest内のすべてのテストの前に何かを実行してから、すべてのテストを実行した後にクリーンアップします。CEST内のすべてのテストの前にコード化を実行する
「コードシップ」でこれを行う方法はありますか?
コード化の観点から、CestクラスはCeptシナリオの単なる束です。 オブジェクトスコープはなく、前後のクラスフックはありません。
私の助言は、代わりにテスト書式を使用し、PhpUnitフックを使用することです。
テストフォーマットはPHPUnit_Framework_TestCaseを継承しているため、setUpBeforeClassは機能するはずです。
あなたはfunctional.suite.yml
に新しいヘルパーを添付することができます。ヘルパーで
class_name: FunctionalTester
modules:
enabled:
- tests\components\helpers\MyHelper
あなたは_before
と_after
メソッドを使用することができます。
class FixtureHelper extends \Codeception\Module
{
/**
* Method is called before test file run
*/
public function _before(\Codeception\TestCase $test)
{
// TODO: Change the autogenerated stub
}
/**
* Method is called after test file run
*/
public function _after(TestCase $test)
{
// TODO: Change the autogenerated stub
}
}
TestCase
の方法は、あなたが必要が_before
と_after
を実行するかを決定することができます。
私にはわかりません。 _beforeと_afterはすべてのテストケースの前に実行されていませんか?この方法を使って巣箱を区別するにはどうすればいいですか? – Casteurr
@Casteurrあなたはいくつかのコードを書く必要があります。 'TestCase'は' getTestFullName'を持っています。それは役に立つかもしれない。 –
それはあまりにも複雑に思えます。私はこのようなものが必要です。https://phpunit.de/manual/current/en/fixtures.html#fixtures.sharing-fixture – Casteurr