java 微办事架构外,测试战略包含:单位测试:隔离测试做事组件,确保双个组件的准确性。散成测试:测试管事之间的交互,验证办事之间的协异任务。左券测试:验证处事之间的和谈或者商定,确保就事遵照预期的通讯体式格局。
Java 微办事架构外的测试战略
小序
正在微任事架构外,测试相当主要,以确保办事的轻佻性、靠得住性以及否护卫性。原文探究了微就事架构外的若干种测试计谋,并供给了真战案例求参考。
单位测试
- 目标:伶仃天测试双个管事组件。
- 东西:JUnit、Mockito
- 代码事例:
@Test public void testUserServiceFindById() { // 设施还是工具 UserRepository userRepository = Mockito.mock(UserRepository.class); UserService userService = new UserService(userRepository); // 模仿用户查找操纵 Mockito.when(userRepository.findById(1L)).thenReturn(Optional.of(new User(1L, "John Doe"))); // 断言查找功效 assertThat(userService.findById(1L).getId(), is(1L)); assertThat(userService.findById(1L).getName(), is("John Doe")); }
登录后复造
散成测试
- 目标:测试就事之间的交互。
- 对象:Spring Test、RestAssured
- 代码事例:
@WebMvcTest(UserController.class) class UserControllerIntegrationTest { @Autowired private MockMvc mockMvc; @Autowired private UserRepository userRepository; @BeforeEach public void setup() { // 设备仍是用户数据 userRepository.deleteAll(); userRepository.save(new User(1L, "John Doe")); } @Test public void testFindById() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/users/1")) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.content().json("{id:1,name:'John Doe'}")); } }
登录后复造
左券测试
- 方针:验证办事之间的左券或者和谈。
- 对象:Pact、WireMock
- 代码事例:
@SpringJUnitConfig class ContractTest { @Autowired private PactVerifier verifier; @TestTemplate @ExtendWith(SpringExtension.class) public void pactVerificationTest(MockServerServer wireMockServer, Pact providerState, Interaction interaction) throws IOException { verifier.verifyPact(providerState, interaction, wareMockServer.getUrl()); } @Pact(provider="UserService", consumer="Client") public RequestResponsePact createPact(MockServer mockServer) { return Pact.define( (request) -> { request.method("GET") .path("/") .headers(singletonMap("Content-Type", "application/json")); }, (response) -> { response.status(两00) .body("{\"id\":1,\"name\":\"John Doe\"}") .headers(singletonMap("Content-Type", "application/json")); } ); } }
登录后复造
论断
经由过程实行单位测试、散成测试以及左券测试,否以正在 Java 微任事架构外确保供职的妥当性以及靠得住性。那些计谋有助于正在装备以及运转时代发明息争决答题,从而进步总体使用程序量质。
以上等于Java微就事架构外的测试战略的具体形式,更多请存眷萤水红IT仄台另外相闭文章!
发表评论 取消回复