junit是一个优秀的开源的java单元测试框架,也是目前比较流行且使用频率比较高的一款,今天我们就来讲讲junit怎么用。
创新互联-专业网站定制、快速模板网站建设、高性价比陇南网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式陇南网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖陇南地区。费用合理售后完善,10多年实体公司更值得信赖。
junit主要用于白盒测试、回归测试、单元测试。
首先我们来新建工程,还是跟原来一样建立。建立之后看看pom.xml文件,已经默认的加入了junit的依赖
org.springframework.boot spring-boot-starter-test test
看看我们建立的工程,idea都给我们生成了什么样的目录结构
我们的junit单元测试文件就放在test/java下面,我们先看一个基础用法,在Lesson9ApplicationTest里面增加一个方法:
- @SpringBootTest
- @RunWith(SpringRunner.class)//使用SpringRunner加载上下文
- public class Lesson9ApplicationTests {
- @Test//这个是一个test单元测试文件
- public void test1() {
- int num = new Integer(1);
- Assert.assertEquals(num,1);
- }
- }
在这个方法的左边会有响应的图标,第一个叶子样的图标标注这个是一个springboot的测试文件,在启动的时候能看到我们正常启动Application的banner图标,说明加载了springboot的上下文。
我们直接在第二个圆形√加三角形的图标点击,就能运行了。
我们一般使用@Test的注解基本就差不多了,一般@BeforeClass会用于加载配置,而@AfterClass一般会用于释放资源。
上面的代码有一个陌生的Assert断言,这个东西是干嘛的呢,简单的可以理解为if条件。断言里面的值应该返回什么样的值。Assert.assertEquals(num,1)。
这个你可以理解为if(num==1)System.out.println("ok");但是这个方法有很多种重载的类
- @Test
- public void test2() {
- List
list1 = Arrays.asList("a", "b"); - List
list2 = Arrays.asList("a", "b"); - List
list3 = list2; - Assert.assertEquals(list1,list2);//通过
- Assert.assertEquals(list3,list2);//通过
- Assert.assertSame(list3,list2);//通过
- Assert.assertSame(list1,list2);//不通过,因为list1和list2分别指向不同的内存地址
- }
我们在@SpringBootTest注解上面加上使用随机端口启动
- @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
- @Autowired
- private TestRestTemplate testRestTemplate;
- @Test
- public void test3() throws URISyntaxException {
- String result = testRestTemplate.getForObject("/demo/test1", String.class);
- Assert.assertEquals(result,"hello junit test");
- }
TestRestTemplate 是不是很熟悉,是的Springboot还为RestTemplate建立了专门的测试类。
注意:一定要使用随机端口启动,否则执行失败。但是笔者感觉这个专门写个测试类很麻烦,还不如直接使用postman测试,你们觉得呢?
- @Test
- @Transactional
- public void test4() {
- User user = new User();
- user.setName("abc");
- user.setAge(19);
- user.setBirthday(new Date());
- userJpa.save(user);
- Assert.assertTrue(user.getId()!=null);
- Assert.assertNotNull(user.getId());
- }
注意:如果不想污染数据库,可以加上@Transactional,执行成功之后数据库事务会回滚,不会将数据真正插入到数据库中。
idea为我们快速的创建test单元测试文件提供了快捷方式
选中需要进行单元测试的方法,右键-->go to-->Test就会为我们创建单元测试文件。
文章已经同步更新到 Java实验室官方站点:
https://javawu.com/archives/2808
当前标题:这么好用的Java单元测试工具,你还在犹豫什么?
网页网址:http://www.csdahua.cn/qtweb/news32/480732.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网