0

テストしたいクラスがあります:

class DocumentProcessor{

  public function write(){

  }

  public function read(){

  }
}

そして、私は簡単なテストケースを持っています:

class ClientTest extends \PHPUnit_Framework_TestCase
{
    public function testWrite(){

    }

    public function testRead(){

    }
}

この場合、書き込まれtestRead()たデータに依存できますtestWrite()か? それともtestRead()、独自のデータをセットアップしてそこから読み取る方が良いですか? 後者のアプローチは少し反復的であるように見えますが、testRead()それ自体でテストできます。

4

3 に答える 3

1

両方のタイプがあると有利だと思います。テストは、独立して記述された場合、はるかにきめ細かく、それぞれが興味深い通常のケースや特殊なケースなどをテストします。ただし、ライターが書いたものをリーダーが読み取れることを検証する統合テストを行うことは常に良いことです。これは、リーダーとライターの両方が確実に更新されるように、出力の形式が変更された場合 (常に変更されている場合) に特に役立ちます。

メソッドが生成しなくなった古い/レガシー形式の入力の読み取りをサポートする必要がある場合は、個別にテストread()することも必要になる場合があります。write()

于 2013-04-24T04:39:59.877 に答える
0

大きなテスト ケース/スイートは、実行に時間がかかる場合があります。このため、通常、テスト エンジニアは冗長性を回避しようとします。たとえば、get/set メソッドは他のテストで使用されるため、通常はテストを避けます。

しかし、私は一般的な慣行を報告しているだけです - 個人的には、このトピックについて強い意見はありません.

于 2013-04-24T16:31:14.583 に答える