4

このテスト ケースを機能させるのに問題があります。誰かが私を正しい方向に向けることができますか? 私は何か間違ったことをしていることを知っています、私はただ何を知りません。

import org.junit.*;
import com.thoughtworks.selenium.*;
import org.openqa.selenium.server.*;

@SuppressWarnings("deprecation")

public class register extends SeleneseTestCase {

  Selenium selenium;
  private SeleniumServer seleniumServer;
  public static final String MAX_WAIT = "60000";
  public final String CRN = "12761";

  public void setUp() throws Exception {
    RemoteControlConfiguration rc = new RemoteControlConfiguration();
    rc.setAvoidProxy(true);
    rc.setSingleWindow(true);
    rc.setReuseBrowserSessions(true);

    seleniumServer = new SeleniumServer(rc);
    selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://google.com/");
    seleniumServer.start();
    selenium.start();
  }

  @Test
  public void register_test() throws Exception {
    //TESTS IN HERE
  }

  @After
  public void tearDown() throws Exception {
    selenium.stop();
    // Thread.sleep(500000);
  }
}

そして、次のエラーが発生します。

junit.framework.AssertionFailedError: No tests found in register
at jumnit.framework.TestSuite$1.runTest(TestSuite.java:97)

私は困惑しています。

4

4 に答える 4

30

TestCase (または SeleniumTestCase) を拡張し、JUnit アノテーション (@Test) を使用することはできません。JUnit3 と 4 のテスト ランナーは異なります。私の推測では、JUnit は TestCase を拡張したことを確認すると、古いランナーを使用します。

@Test アノテーションを削除し、代わりに「test」という単語を前に付けてテストに名前を付けるという古い規則に従ってください。これで修正されます。

public void testRegister() throws Exception {
  //TESTS IN HERE
}

PS。キャメルケースなど、より標準的な Java 命名規則に従うことをお勧めします。

PPS。これについて詳しく説明しているリンクを次に示します。

于 2012-04-10T22:15:52.477 に答える