2011-01-11 22 views
4

PHPUnitでユニットテストを書いています。キャメルケースでPHPUnitテストメソッドの名前を付けないとどうなりますか?

私は今約100メソッドが書かれています。これら以来

Kohanaの Frameworkアプリケーションのために、私は、同様に例えば試験方法についてその命名規則を使用しています。Eclipseですべての私のテスト

function test_instance() 
{ 
    ... 
} 

function test_config() 
{ 
    ... 
} 

実行罰金をしてから、コマンドライン。

しかし、私は今、セットアップ機能を使用する必要があると名付けられたときに、それが唯一動作することを実現:

function setUp() 
{ 
    ... 
} 

ない:

function set_up() 
{ 
    ... 
} 

を今私がする場合、私は疑問に思ってPHPUnitのすべてのメソッドの名前を変更してラクダのようにすると、道のりに不利益があります。 PHPUnitを使用する他のツールは、メソッド名をcamelcase表記にすることをお勧めしますか?

答えて

1

setUpおよびteardownは、認識するために一致させる必要がある正確な名前です。一方、テストはtestで始まらなければなりません。 (これらはすべて大文字と小文字が区別されます)

それ以外の大文字/小文字のレイアウトは不要です。 (まあ、クラスはTestで始めることはできませんが、それはそれについてです。)PHPで

12

メソッド名は大文字と小文字は区別されませんので、あなたがsetupまたはsetUptearDownまたはteardownを使用するかどうかは問題ではありません。ただし、set_upまたはtear_downは別の名前で使用することはできません。 PHPUnitは、各テストの間にsetUptearDownを呼び出して環境を保証します。

PHPUnitでは、慣例として、testで始まるメソッドはすべてテストとみなされます。 DocBlockメソッドの@testアノテーションを使用して接頭辞を省略することができます。 PHPUnitはCamelCaseのメソッド名を、レポートを印刷するときに空白の記述に変換するので、testMethodDoesThisは「メソッドはこれを行います」と表示されます。

キャメルケースは、@testDox注釈で注釈が付けられたテストにも影響します。

関連する問題