junit.framework.AssertionFailedError:在寄存器中找不到测试

Sat*_*hed 3 junit selenium selenium-rc

我在使这个测试用例工作时遇到了问题.谁能指出我正确的方向?我知道我做错了什么,我只是不知道是什么.

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

而且我收到以下错误:

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

我很难过.

Rya*_*son 24

您不能同时扩展TestCase(或SeleniumTestCase)并使用JUnit注释(@Test).JUnit3和4的测试运行器是不同的,我的假设是当JUnit看到你扩展了TestCase时,它使用了旧的运行器.

删除@Test注释,而不是遵循命名测试的旧约定,前缀为"test",这将解决它.

public void testRegister() throws Exception {
  //TESTS IN HERE
}
Run Code Online (Sandbox Code Playgroud)

PS.我建议遵循更多标准的Java命名约定,例如驼峰套管.

PPS.这是一个更详细解释这一点的链接.