在maven中运行单个测试 – >没有执行任何测试!

当我使用此命令在Maven中运行单个测试时:

mvn test -Dtest=InitiateTest 

我得到以下结果:

 No tests were executed! 

它在几分钟前工作,但现在由于某种原因停止工作。 我在运行测试之前尝试运行mvn clean几次,但没有用。

测试看起来像这样:

 import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import org.junit.After; import org.junit.Before; import org.junit.Test; public class InitiateTest { public static FirefoxDriver driver; @Before public void setUp() throws Exception { driver = new FirefoxDriver(); } @Test public void initiateTest() throws Exception { driver.get("http://localhost:8080/login.jsp"); ... } @After public void tearDown() throws Exception { driver.close(); 

}}

更新:

这是通过将此依赖项添加到POM引起的:

  org.seleniumhq.selenium selenium 2.0b1 test  

当我删除它,一切正常。 即使我添加这两个依赖项而不是前一个依赖项,一切正常:

  org.seleniumhq.selenium selenium-support 2.0b1 test   org.seleniumhq.selenium selenium-firefox-driver 2.0b1 test  

这很奇怪。

您可能正在某个类路径上拾取JUnit3,这有效地禁用了JUnit4。

运行mvn dependency:tree以查找它的来源并向依赖项添加一个exclude。

也许你看到这个bug,据说会影响surefire 2.12而不是2.11?

我有同样的问题。 它是由junit3附带的testng依赖引起的。 只需为它添加一个排除声明,测试应该有效。

  org.seleniumhq.selenium selenium 2.0b1   org.testng testng    

我已将“maven-surefire-plugin”更改为2.14.1版本(从2.12开始)并且它有所帮助

我有一个类似的问题。 所以我不得不使用项目的根级别构建项目

 mvn clean install -DskipTests=True 

然后从测试包的pom所在的目录运行test命令

 mvn test -Dtest=TestClass 

还要确保skip选项的值为true。 例如,在我的pom文件中,skip的默认值为true。

   true    org.apache.maven.plugins maven-surefire-plugin  ${skipTests}    

因此,当我运行maven测试时,我将其设置为false

 mvn test -Dtest=TestUserUpdate* -DskipTests=false 

尝试在调试模式下运行maven。 它可能会为您提供更多信息。

 mvn -X -Dtest=InitiateTest test 

有一个类似的问题添加jtestr依赖。 事实certificate其中一个依赖关系正在接受junit-3.8.1。 我使用下面的排除声明解决了它

  org.jtestr jtestr   org.testng testng   0.6 test  

从2.6改为2.18.1,它仍然有帮助

在pom.xml的构建会话中,包括:

   src   org.apache.maven.plugins maven-surefire-plugin 2.14.1    

也许和我上一次尝试一样无用,但我刚读了一个JUnit 4测试类应该导入org.junit.Test。* 和org.junit.Assert。*这样才算。 由于您没有Assert导入,因此可能需要快速尝试以确保…

就我而言,我使用mvn test -Dtest = MyTest运行单个测试。 我的错误是唯一的测试是@test注释被注释掉了,所以junit没有在文件中找到测试。 卫生署!

 mvn test -Dtest='xxxx.*Test' -Dmaven.test.failure.ignore=true -DfailIfNoTests=false 

我遇到了没有执行任何测试的相同问题! 我的建议是添加另一个参数-Dmaven.test.failure.ignore=true -DfailIfNoTests=false可以解决它。

我真的不知道@Test注释如何处理你的测试,但是你能尝试用“test”为你的测试方法添加前缀吗?

 public void testInit() throws Exception { driver.get("http://localhost:8080/login.jsp"); ... }