我正在为使用Rest Assured的更广泛的测试框架编写一些单元测试。测试框架正在将DSL实现为流利的API,我希望通过一些单元测试来证明API背后的代码是否可以正常工作,即在需要时调用Web服务。

我正在使用WireMock模拟测试框架最终将访问的应用程序。我的测试框架已成功到达WireMock,并使用WireMocks的verify验证了需求。我看不到的是如何使WireMock的verify在失败时以与常规断言相同的方式记录消息。

常规断言示例:

Assert.assertNotNull("The thing was null", thing);


如果thing为空,以上将导致记录以下内容:

java.lang.AssertionError: The thing was null


使用WireMock,我正在使用以下代码进行验证:

verify(postRequestedFor(urlEqualTo("/api/product")));


如果被测试的代码没有向该路径发出请求,那么我只会得到以下日志记录:

com.github.tomakehurst.wiremock.client.VerificationException: No requests exactly matched. Most similar request was:


验证失败时,是否可以给WireMock记录日志?

最佳答案

我很久以前一直在寻找它,并试图使用Kotlin扩展函数来实现它,但是由于所有验证方法都返回void :(。
如果我们可以将其集成到WireMock中,则这是一个很好的功能。
问候

关于java - 如何使WireMock验证更有意义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57221260/

10-14 04:04