- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我能够为我创建的剩余服务生成剩余文档,但无法为我正在使用的服务生成文档。
有没有办法测试和生成第三方 API 的文档。
我用来生成本地服务文档的示例代码。
@RunWith(SpringRunner.class)
@WebAppConfiguration
@SpringBootTest(classes = RestdocApplication.class)
public class CountryDocumentation {
private static final Logger logger =
LoggerFactory.getLogger(CountryDocumentation.class);
private MockMvc mockMvc;
@Autowired
private WebApplicationContext context;
@Rule
public final JUnitRestDocumentation restDocumentation = new
JUnitRestDocumentation("target/generated-snippets");
@Mock
private CountryService countryService;
@Mock
private RestTemplate restTemplate;
@Before
public void setUp() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context).apply(documentationConfiguration(this.restDocumentation)
.uris().withHost("X.X.X.X").withPort(9090).and().operationPreprocessors()
.withResponseDefaults(prettyPrint())
.withRequestDefaults(prettyPrint())).defaultRequest(get("/")).build();
}
@Test
public void getCountryDefinition() throws Exception {
this.mockMvc.perform(get("/"))
.andExpect(status().is(200))
.andDo(document("{ClassName}/{methodName}"));
}
}
最佳答案
您在评论中说过您想要模拟对远程服务的实际调用。我认为这使得文档毫无意义。如果生成文档的测试正在调用模拟服务,那么您正在记录模拟而不是服务。如果您希望利用 REST Docs 的测试驱动方法来生成文档,那么您的测试需要调用正在记录的服务。如果该服务只能远程访问,那么您需要进行 HTTP 调用来记录它。
您可以将 Spring REST Docs 与 REST Assured 或 WebTestClient 结合使用来记录可通过 HTTP 访问的任何服务。以下是 REST Assured 的示例,其中记录了 Stack Exchange API 的一部分:
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.http.ContentType;
import io.restassured.specification.RequestSpecification;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.springframework.restdocs.JUnitRestDocumentation;
import static io.restassured.RestAssured.given;
import static org.springframework.restdocs.restassured3.RestAssuredRestDocumentation.document;
import static org.springframework.restdocs.restassured3.RestAssuredRestDocumentation.documentationConfiguration;
public class RestAssuredExampleTests {
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();
private RequestSpecification documentationSpec;
@Before
public void setUp() {
this.documentationSpec = new RequestSpecBuilder()
.addFilter(documentationConfiguration(this.restDocumentation))
.setBaseUri("https://api.stackexchange.com/2.2").build();
}
@Test
public void answers() throws Exception {
given(this.documentationSpec).accept(ContentType.JSON).filter(document("answers"))
.when().get("answers?order=desc&sort=activity&site=stackoverflow").then()
.assertThat().statusCode(200);
}
}
关于java - 如何模拟公共(public)API(第三方API)以生成spring Restdocs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875309/
有没有办法使用 spring-restdocs 记录 http 错误代码?我在 http://docs.spring.io/spring-restdocs/docs/current/reference
我有一个 OrderInfo 类: @ApiModel(description = "object needed to make an order") public class OrderInfo
是否可以使用注释(在字段级别)为字段提供描述? 我知道我可以为此使用description方法 .andDo(document("index", responseFields(
我的 JSON 响应负载如下所示: { "count": 2, "items": [ { "k1": "v1", "k2": [] }, {
我有一个响应,它是一个 json 数组。每个元素都有它的意义,我可以描述它。 我的阵列: ["1525032694","300","true"] 我在文档中找到了一个示例,该示例描述了一个数组和每个相
我正在使用 spring-restdocs 生成 API 文档,我希望将所有参数、路径和响应字段 JSON 路径打印为表格内的代码部分(Asciidoc 中的反引号)。 例如,JSON 路径 spro
我的测试类是 package com.htc.spring.rest.docs; ------- @RunWith(SpringJUnit4ClassRunner.class)
我正在使用 spring restdocs 在我的 REST webapi 上生成文档;我已经集成了这个东西并且生成了我的 html(maven + asciidoc 插件,restassured a
我们的 REST API 通过使用 Spring Restdocs 以标准方式进行的一组测试进行记录(通过 mockMvc.perform(...)...andDo(document().fieldW
作为开发人员,我更喜欢 spring restdocs。但作为文档的使用者,我发现 swagger 实时文档非常引人注目。这是无处不在的例子:http://petstore.swagger.io/ 有
我使用过 SpringRestDoc 并且想要折叠目录。 在我的index.adoc下面 = Service Rest Docs API Document :doctype: book :icons:
我使用当前版本的 spring-restdoc:1.1.2.RELEASE。 我创建了一个需要在 header 中包含 cookie 的 API。这是我的 Controller : @Requ
我知道 fieldWithPath()有 optional()但没有找到制作方法 parameterWithName()可选的。 最佳答案 在 Spring REST Docs 1.1 中,您可以 m
我能够为我创建的剩余服务生成剩余文档,但无法为我正在使用的服务生成文档。 有没有办法测试和生成第三方 API 的文档。 我用来生成本地服务文档的示例代码。 @RunWith(SpringRunner.
我目前正在使用 Spring REST Docs 为我的 RESTful 服务生成文档,我想生成一个包含响应状态可能值和描述的表,就像完成了一样 here (在页面底部)。 我可以在我的父 index
Spring Restdocs 基于 Spring MVC 测试。因此,我想弄清楚是否可以将 Spring Restdocs 与 Jersey 2.0 REST 应用程序集成。 如果是这样,能否请您指
我将 spring 单元测试与 spring-restdocs 结合使用。 这是我的 mockmvc 代码: mockMvc.perform(fileUpload("/api/enterprise/u
我正在使用 spring boot 2 来实现 REST API 服务,并希望使用 restdocs 对其进行记录。 终点 POST /api/tags 带有请求正文 {"name":"Some Ta
Spring REST Docs 生成了一个 curl 片段,在测试时非常方便。它相当于 MockMvc调用如其文档中所述,但如果其主机部分可以替换为测试服务器的主机名(包括端口)而不是 localh
我的应用程序正在使用 spring-data-rest 和 spring-restdocs。我的设置非常标准;几乎完全从文档中复制,但我在下面包含了示例以防遗漏某些内容。当我的 mvc 测试运行时,它
我是一名优秀的程序员,十分优秀!