JUnitParams を使用してパラメーター化されたテストを記述し始めましたが、すばらしい動作をします。たとえば、次のテストは で呼び出されfalse
、次に で呼び出されtrue
ます。
@Test
@Parameters ({ "false", "true" })
public void testBla (boolean foo) throws Exception
...
ちょっとした問題の 1 つは、org.junit.rules.TestRule
いくつかの追加情報をログに書き込むためだけに存在するカスタム ルール (のように) があることです。現在行っていることは、
public Statement apply (final Statement statement, final Description description)
{
return new Statement ()
{
public void evaluate () throws Throwable
{
log.info (String.format ("RUNNING TEST %s::%s\n",
description.getClassName (),
description.getMethodName ()));
...
上記のように 2 つのパラメーターしかない場合、1 つのメソッドの 2 つの実行に対して同じ名前が書き込まれることは問題ではありません。単純に数えることができます。ただし、ルールがパラメーター値を出力することは、特にもっとある場合に役立ちます。
では、カスタム ルール内からテスト パラメーターを見つけることは可能ですか?