首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们能在一个项目中一起运行Spock测试用例和Junit 5测试用例吗?

我们能在一个项目中一起运行Spock测试用例和Junit 5测试用例吗?
EN

Stack Overflow用户
提问于 2019-08-21 06:06:53
回答 1查看 4.5K关注 0票数 4

我们不能用Junit 5Spock框架一起在一个吊带项目中运行测试用例?

我们尝试将https://www.baeldung.com/junit-5-gradle中的依赖项添加到我们的gradle文件中。Gradle版本为4.10.3和Junit 5。

代码语言:javascript
复制
apply plugin: 'groovy'
apply plugin: 'java'

repositories {
  mavenCentral()
  maven {
    url "http://repo.fusesource.com/nexus/content/groups/public/"
  }
  maven {
    url "https://repository.jboss.org/nexus/content/groups/public"
  }
  jcenter()
}

dependencies {

  compile group: 'com.google.inject', name: 'guice', version: '4.2.2'
  compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'

  testCompile(
    'org.codehaus.groovy:groovy-all:2.4.8',
    'org.spockframework:spock-core:1.0-groovy-2.4',
    'org.jmockit:jmockit:1.8',
    'junit:junit:4.12'
  )
  testRuntime(
    'cglib:cglib:2.2.2',
    'com.athaydes:spock-reports:1.2.7'
  )

  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'

  testCompileOnly 'junit:junit:4.12'

}

test {
  useJUnitPlatform()
  testLogging { showStandardStreams = true }
}

我已经创建了两个测试用例,一个是使用spock框架,另一个是使用junit 5。但是当我使用gradlew -test时,它只运行用Junit 5编写的测试用例。下面是构建路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-21 16:12:29

您需要Vintage测试引擎来执行史波克测试,因为它们是基于JUnit 4的,并且您需要木星测试引擎来执行JUnit木星测试。

因此,您需要两个引擎的依赖关系。

代码语言:javascript
复制
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.3.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'

我还建议您升级到JUnit 5.5.1 (也就是最新的和最好的)。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57585371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档