@Rule
public WireMockRule wireMockRule = new WireMockRule(8080);
testCompile('org.junit.jupiter:junit-jupiter-engine:5.1.1')
我需要添加另一个JUnit依赖的模块吗?或者规则在JUnit5中不受支持?如果没有,如何替换@rule
注释以使测试再次工作?
来自JUnit5用户指南:
@rule
和@classrule
不再存在;由@extendwith
和@registerextension
取代。另请参见“有限的JUnit4规则支持”。
然而,正如Tom所指出的,WireMock从2.31.0版本开始就完全支持JUnit Jupiter:
// New JUnit 5 extension
@WireMockTest
class DeclarativeWireMockTest {
@Test
void test_something_with_wiremock(WireMockRuntimeInfo wmRuntimeInfo) {
// The static DSL will be automatically configured for you
stubFor(get("/static-dsl").willReturn(ok()));
// Instance DSL can be obtained from the runtime info parameter
WireMock wireMock = wmRuntimeInfo.getWireMock();
wireMock.register(get("/instance-dsl").willReturn(ok()));
// Info such as port numbers is also available
int port = wmRuntimeInfo.getHttpPort();
// Do some testing...
}
}
编辑:我当前代码的部分是: 所有测试类都扩展了TestBase。我得到一个错误:
问题内容: 我在测试中使用Wiremock,并具有以下代码行: 我想切换到Junit5。因此,我添加了下一个依赖项(使用gradle): 但是当我尝试导入@Rule注释时没有任何建议。我是否需要添加另一个junit依赖模块?还是Junit5不支持规则?如果没有,我该如何替换@Rule批注以使测试再次起作用?谢谢。 问题答案: 从总体上看,你做了什么和JUnit 4中应该做和该关联提供的JUnit
我正在尝试配置Wiremock映射,以从请求中返回一个带有值的JSON响应。 请求很简单 它的映射是: 我收到回复: 而预期的是: 如果我切换到XML请求,模式
我有一个存根,可以在/__admin/下看到,但是当进行任何类型的rest调用时,在__admin/requests或__admin/requests/unmatched中没有任何记录,我觉得这很奇怪。Wiremock是否未能拦截请求? 简化代码: 错误: 在以下站点观察到错误:* _ _检查点获取http://localhost的⇢请求: ... [org.springframework.web
问题内容: 我想用注释替换XML applicationContext配置。 如何用固定的构造函数参数替换简单的bean? 范例: 我正在阅读有关@Value的一些解释,但我不太了解如何传递一些固定值… 部署Web应用程序时是否可以加载此bean? 谢谢。 问题答案: 我认为您所追求的是: 您还可能希望通过系统属性来配置这些文件。您可以使用注释通过和语法读取系统属性。 为此,您可以在注释中使用不同
假设我不想使用JSR303来验证我的bean。当bean被标记为有效时,是否可以实现Spring将使用的自定义验证器? 如果我的自定义验证器是Spring组件,那就太好了