在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"); ... }