【问题标题】:junit.framework.AssertionFailedError: No tests found in registerjunit.framework.AssertionFailedError:在寄存器中找不到测试
【发布时间】:2021-04-07 20:27:12
【问题描述】:

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

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)

我被难住了。

【问题讨论】:

    标签: selenium junit selenium-rc


    【解决方案1】:

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

    删除@Test 注释,而是按照旧的约定命名你的测试,并以单词“test”为前缀,这样就可以解决它。

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

    附言。我建议遵循更标准的 Java 命名约定,例如驼峰式大小写。

    PPS。这是link 更详细地解释了这一点。

    【讨论】:

      【解决方案2】:

      这意味着您没有在当前运行的以下测试用例类中创建以 test 开头的方法名称

      【讨论】:

        【解决方案3】:

        在我的例子中,我能够解决这个错误——也就是说,使用<junit> Ant 任务运行测试——通过指向 1.7 或更高版本的 Ant。 Ant 1.7+ 尊重嵌套的 <classpath> 元素,我在其中指向一个 JUnit 4.x jar,正如 CodeSpelunker 指出的那样,它可以理解 @Test 注释。 http://ant.apache.org/faq.html#delegating-classloader 为我提供了一个惊喜时刻。

        【讨论】:

          【解决方案4】:

          我在 Kotlin for Android 中使用 mockk,但出现了这个错误。

          我的班级是这样声明的(由 Android Studio 自动生成):

          class MyClassTest : TestCase() {
          

          但删除 TestCase 修复了错误

          class MyClassTest {
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-17
            • 1970-01-01
            相关资源
            最近更新 更多