在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Bugpush-JUnit-Core介绍BugCloud Junit Core是BugCloud推出的Java单元测试功能包,目标是用最少的代码完成单元测试,减少开发人员在单元测试过程中的代码开发量,并可将测试结果发送到BugCloud云平台,提高软件开发、Bug修复及项目管理交付的效率。 连接
软件架构BugCloud Junit Core 以Spring Boot 2、JUnit 4 为基础,添加测试报告推送、扫包自动创建测试类功能,使开发人员可以通过添加简单注解快速进行单元测试。 安装GradletestImplementation 'com.bug-cloud:bugcloud-junit-core:0.0.2' Maven<dependency> <groupId>com.bug-cloud</groupId> <artifactId>bugcloud-junit-core</artifactId> <version>0.0.2</version> <type>module</type></dependency> 使用说明测试前的准备如果需要在单元测试完成后,将测试失败的用例结果提交到BugCloud云平台,需登陆官网开通账号,相关步骤如下:
API说明AutoTestScan 类注解用能: 参数说明:
PushReport 类注解用能:
RandomParameter 方法注解用能:
在测试一些业务功能时,如删除指定Id的数据信息,这时需要传递指定的Id值做为参数,采用随机赋值测试的方法就行不通了,此时就可以通过RandomParameter注解,指定哪一个测试类、哪一个测试方法的哪个参数来返回这个固定Id值。 BugCloudRunner 类BugCloudRunner注解继承于BlockJUnit4ClassRunner类,主要功能用于在测试完成后,将测试结果上传到BugCloud云平台。此注解需要配合PushReport注解一起使用,才能提交报告。 @RunWith(BugCloudRunner.class)@PushReport(appKey = "********-****-****-****-********", appSecret = "********-****-****-****-********", pusher = "推送用户登陆名",handler="处理用户登陆名")public class BugCloudRunnerTest { @Test public void testFalse() { Assert.assertTrue(false); }} BugCloudSpringRunner 类BugCloudSpringRunner继承于SpringJUnit4ClassRunner类,功能与BugCloudRunner类相同,主要用于在测试完成后,将测试结果上传到BugCloud云平台。 @RunWith(BugCloudSpringRunner.class)@PushReport(appKey = "********-****-****-****-********", appSecret = "********-****-****-****-********", pusher = "推送用户登陆名",handler="处理用户登陆名")@WebAppConfiguration@SpringBootTest@Transactionalpublic class BugCloudSpringRunnerTest { private MockMvc mock; @Autowired private WebApplicationContext webContext; @Before public void init() { mock = org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup(webContext).build(); } @Test public void testGetAllUsers() throws Exception { MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/users") .contentType(MediaType.APPLICATION_JSON); mock.perform(builder).andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn().getResponse().getContentAsString(); }} BugCloudAutoSpringSuite 类BugCloudAutoSpringSuite继承于Suite套件类,测试时会扫描Java包中的Controller层,动态创建Controller测试类,将其中带有GetMapping、PostMapping、PutMapping、DeleteMapping、RequestMappping注解的方法自动生成测试方法进行单元测试。 @RunWith(BugCloudAutoSpringSuite.class)@AutoTestScan(packageName = "com.bugcloud.junit.demo")@PushReport(appKey = "********-****-****-****-********", appSecret = "********-****-****-****-********", pusher = "推送用户登陆名",handler="处理用户登陆名")@Transactionalpublic class BugcloudJunitDemoApplicationTests { /** * 计算接口方法中,参数名包含Id的字符型的返回值。 * * @return */ @RandomParameter(parameterName = ".*Id.*") public String userId() { return UUID.randomUUID().toString(); } /** * 计算接口方法中,参数名等于name的的返回值。 * * @return */ @RandomParameter(parameterName = "name") public String name() { String[] names = { "唐玄奘", "孙悟空", "猪八戒", "沙悟净" }; return names[(int) (Math.random() * names.length)]; }} BugCloud云平台BugCloud云平台用于项目的自动化测试与管理,当BugCloud Junit Core单元测试报告提交后,可在应用中进行问题的修复。问题界面如下: 计划目标2021年,我们将一起努力拥有更多的能力,为所有工作在一线的兄弟姐妹提供更便捷、更可靠的服务与平台,为中国软件事业的腾飞保驾护航。
|
请发表评论