java - 黄瓜配 Micronaut
问题描述
我正在尝试将 Cucumber 与 Micronaut 一起使用,但当我尝试将 Cucumber 与 Cucumber 一起使用时,@MicronautTest 注释根本不起作用(未注入 Apple - 请参见下面的代码)。如果我在没有 Cucumber 的情况下运行它就可以了。你有这方面的经验吗?它应该工作吗?
谢谢伊万
这些是类
第一类
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(plugin = { "pretty" },
features = "src/test/resources"
)
public class TheRunner {
}
类2
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import io.micronaut.context.annotation.Value;
import io.micronaut.test.annotation.MicronautTest;
import org.junit.jupiter.api.Test;
@MicronautTest
public class Steps {
@Value("apple")
private String theApple;
// @Test
// public void test() {
// System.out.println("Value: " + theApple);
// }
@Given("some text")
public void some_method_1() {
System.out.println("Value: " + theApple);
}
@When("some text")
public void some_method_2() {
}
@Then("an alarm is raised")
public void some_method_3() {
}
}
构建.gradle
dependencies {
annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut:micronaut-validation"
implementation platform("io.micronaut:micronaut-bom:$micronautVersion")
implementation "io.micronaut:micronaut-inject"
implementation "io.micronaut:micronaut-validation"
implementation "io.micronaut:micronaut-runtime"
implementation "javax.annotation:javax.annotation-api"
implementation "io.micronaut:micronaut-http-client"
runtimeOnly "ch.qos.logback:logback-classic:1.2.3"
testAnnotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
testAnnotationProcessor "io.micronaut:micronaut-inject-java"
testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion")
testImplementation "io.micronaut.test:micronaut-test-junit5"
testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junitVersion}"
testImplementation "io.cucumber:cucumber-java:$cucumberVersion"
testImplementation "io.cucumber:cucumber-junit:$cucumberVersion"
}
解决方案
推荐阅读
- python - Django:自定义 http 标头身份验证
- java - 将数据移动到不同的方法
- javascript - jQuery UI 滑块不适用于所有十进制值
- linux - Bash 脚本以确保只有一个脚本实例在运行,而其他实例在等待
- php - PHP SoapServer 返回空的 xml 文档(空字符串)
- odata - 如果实体是全新/临时的,如何将实体发送到全局操作输入参数?
- swift - Firebase 安全规则不会阻止 removeValue()
- java - 没有地图名称的序列化和反序列化
- r - strsplit 不会对提供给参数“split”的字符向量的所有元素进行拆分
- python - 使用 Pandas 从数组中获取分组信息