MockJS 是一个用于生成随机数据和模拟 HTTP 请求的 JavaScript 库,它可以用来优化 Java 代码,提高开发效率和测试覆盖率。以下是如何借助 MockJS 优化 Java 代码的方法:
const Mock = require('mockjs')
const users = Mock.mock({
'list|10': [{
'id|+1': 1,
'name': '@name',
'age|20-50': 20,
'email': '@email'
}]
})
console.log(JSON.stringify(users.list, null, 2))
const Mock = require('mockjs')
Mock.mock('/api/login', 'post', {
'code|100-500': 100,
'message': '@string',
'data': {
'token': '@string'
}
})
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(controllers = LoginController.class)
public class LoginControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private LoginService loginService;
@Test
public void testLogin() throws Exception {
// 模拟登录接口返回的数据
when(loginService.login("username", "password")).thenReturn(new User("1", "username", "password"));
// 测试登录接口
mockMvc.perform(post("/api/login")
.param("username", "username")
.param("password", "password"))
.andExpect(status().isOk())
.andExpect(content().json("{\"code\":200,\"message\":\"success\",\"data\":{\"token\":\"123456\"}}"));
}
}
通过以上方法,你可以借助 MockJS 优化 Java 代码,提高开发效率和测试覆盖率。