java - 为什么cucumber会找 "runTest.java"跑测试?

标签 java junit cucumber

我写一些cucumber测试的时候,从一些文档中发现我需要在“src/test/java/somepackage”下创建一个“runTest.java”文件,里面配置cucumber的内容,比如:

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty"})
public class runTest {
}

我发现类名“runTest”很有趣,因为如果我将它重命名为任何其他名称,mvn test 将不再找到它。

我从 junit 站点搜索了名称转换,但没有找到任何相关文档。只是想知道更多关于它的信息。

最佳答案

我认为惯例是:

  • Test*.java
  • *Test.java
  • *TestCase.java

这不是 JUnit 约定,而是定义它的 Maven surefire 插件:https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

引用:https://scompoprojects.wordpress.com/2016/02/03/junit-test-class-names-are-important-with-maven/

关于java - 为什么cucumber会找 "runTest.java"跑测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774686/

相关文章:

java - 从使用Mockito模拟的restTemplate.exchange()中检索httpEntity对象

ruby-on-rails - cucumber 找不到步骤定义

scala - 如何从 Cucumber-JVM 中的另一个步骤调用一个步骤

ios - "Make sure you' ve set APP_BUNDLE_PATH to a build supported by this simulator version“在测试套件运行中出现错误

java - 如何在java中使用正则表达式在给定单词之后提取java中的单词

java - 使用 Apache Wicket 将焦点放在组件上?

java - 在 Android 应用程序中将原始图像替换为新图像

java - JUnit 测试期间重复的 log4j 输出

java - 莫基托 : How to ignore transitive dependencies

java - 更新后无法构建 Android 项目,错误 : Deprecated Gradle features were used in this build, 使其与 Gradle 5.0 不兼容