【发布时间】:2016-06-14 15:00:27
【问题描述】:
我有一个使用 Maven 设置的 Java 项目,我正在使用 Cucumber 和 jUnit 对其进行测试。
也许我遗漏了一些东西,但是有没有办法设置我的 Cucumber 测试运行器以自动运行 jUnit 测试以及我的 Cucumber 功能?不必运行两个单独的测试套件,并使用 mvn test 自动测试所有内容,这将是很棒的。
目前,当我指定 @RunWith(Cucumber.class) 时,它只会查找 .feature 文件并忽略所有其他测试。
这是我的测试文件结构:
└── test
├── java
│ ├── TestRunner.java
│ └── com
│ └── myname
│ └── server
│ ├── GlobalHooks.java
│ ├── HTTPRequestsSteps.java
│ └── unitTests
│ ├── RequestHandlerTests.java
│ └── ServerTests.java
└── resources
└── cucumber
├── ... cucumber features here
还有我的测试运行器,它目前只查找 .feature 文件。
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;
@RunWith(Cucumber.class)
@CucumberOptions(plugin={"pretty"}, glue="com.rnelson.server", features="src/test/resources")
public class TestRunner {
}
我一直在寻找无济于事,所以任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您的
unitTests不遵循 maven SureFire naming conventions(它们以Tests而不是Test结尾)。这可能是他们未被发现并因此未被mvn test运行的原因吗? -
完美,这解决了我的问题。谢谢!!
-
@BeccaNelson 你得到这个工作了吗?即使我有类似的情况,但我不知道如何解决它?下面的答案对我没有帮助
-
我的问题只是命名问题,正如@avandeursen 上面指出的那样。
标签: java maven unit-testing junit cucumber