0

パブリッククラスNewTestはSeleneseTestCaseを拡張します{

public static Test suite() throws Exception
{
   TestSuite suite = new TestSuite();

   TestSuite s = new TestSuite("TestCase Name");
      GeneratedTest t = new GeneratedTest("testName");
      t.setFailure("TestCase Name: testName");
      s.addTest(t);
      t = new GeneratedTest("testAge");
      s.addTest(t);
      suite.addTest(s);
   s = new TestSuite("TestCase Name2");
      t = new GeneratedTest("testOOGABOOGA");
      t.setFailure("TestCase Name2: testOOGABOOGA");
      s.addTest(t);
      suite.addTest(s);
   s = new TestSuite("TestCase Name4");
      t = new GeneratedTest("testName");
      t.setFailure("TestCase Name4: testName");
      s.addTest(t);
      t = new GeneratedTest("testAge");
      s.addTest(t);  
      suite.addTest(s);
   s = new TestSuite("TestCase Name3");
      t = new GeneratedTest("testName");
      t.setFailure("TestCase Name3: testName");
      s.addTest(t);
      t = new GeneratedTest("testAge");
      s.addTest(t);
      suite.addTest(s);

   return suite;
}

}


public class GeneratedTest extends TestCase
{
  public String testFailMessage;

  public GeneratedTest(String name)
  {
    ((TestCase)this).setName(name);
  }

  public void runTest()
  {
    if (testFailMessage != null)
    {
      fail(testFailMessage);
    }
  }

  public void setFailure(String msg)
  {
    testFailMessage = msg;
 }
}

ご覧のとおり(またはできない場合もあります)、実行時にjunitにテストを追加しています。正しく表示されないことを除けば、これはすべて問題なくダンディです。ここで、私が何を意味するかを見てください:

画像はこちら

ご覧のとおり、同じ名前のテストでは、名前が重複している最後のテストを除いて、実行されたことが表示されません。そのテストには、同じ名前の他のすべてのテストからのエラーメッセージが含まれます。

これは、私がやっている方法(junit3スタイル)の単なる欠陥ですか?junit4パラメーター化を使用して修正するように変更する必要がありますか?

4

1 に答える 1

0

Eclipseのテストランナーにも似たようなものがあることに気づきました。JUnit 3.8スタイルのパラメーター化されたテストの場合、名前は表示されませんでした。JUnit 4スタイルに切り替えると、問題は解決しました。

これは正確にはあなたのシナリオではありませんが、テストをJUnit 4に更新できるようになるまで、これを実行する必要があると思います。Eclipseは引き続きテストを実行します。これは重要なことです。

于 2010-07-12T00:35:33.540 に答える