成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這么好用的Java單元測試工具,你還在猶豫什么?

開發 開發工具
junit是一個優秀的開源的java單元測試框架,也是目前比較流行且使用頻率比較高的一款,今天我們就來講講junit怎么用。

[[410521]]

junit是一個優秀的開源的java單元測試框架,也是目前比較流行且使用頻率比較高的一款,今天我們就來講講junit怎么用。

junit主要用于白盒測試、回歸測試、單元測試。

首先我們來新建工程,還是跟原來一樣建立。建立之后看看pom.xml文件,已經默認的加入了junit的依賴

  1. <dependency> 
  2.     <groupId>org.springframework.boot</groupId> 
  3.     <artifactId>spring-boot-starter-test</artifactId> 
  4.     <scope>test</scope> 
  5. </dependency> 

 

看看我們建立的工程,idea都給我們生成了什么樣的目錄結構

我們的junit單元測試文件就放在test/java下面,我們先看一個基礎用法,在Lesson9ApplicationTest里面增加一個方法:

  1. @SpringBootTest 
  2. @RunWith(SpringRunner.class)//使用SpringRunner加載上下文 
  3. public class Lesson9ApplicationTests { 
  4.     @Test//這個是一個test單元測試文件 
  5.     public void test1() { 
  6.         int num = new Integer(1); 
  7.         Assert.assertEquals(num,1); 
  8.     } 

在這個方法的左邊會有響應的圖標,第一個葉子樣的圖標標注這個是一個springboot的測試文件,在啟動的時候能看到我們正常啟動Application的banner圖標,說明加載了springboot的上下文。

我們直接在第二個圓形√加三角形的圖標點擊,就能運行了。

junit連常用的注解

  1. @RunWith:標識為JUnit的運行環境;
  2. @SpringBootTest:獲取啟動類、加載配置,確定裝載Spring Boot;
  3. @Test:聲明需要測試的方法;
  4. @BeforeClass:針對所有測試,只執行一次,且必須為static void;
  5. @AfterClass:針對所有測試,只執行一次,且必須為static void;
  6. @Before:每個測試方法前都會執行的方法;
  7. @After:每個測試方法前都會執行的方法;
  8. @Ignore:忽略方法;

我們一般使用@Test的注解基本就差不多了,一般@BeforeClass會用于加載配置,而@AfterClass一般會用于釋放資源。

上面的代碼有一個陌生的Assert斷言,這個東西是干嘛的呢,簡單的可以理解為if條件。斷言里面的值應該返回什么樣的值。Assert.assertEquals(num,1)。

這個你可以理解為if(num==1)System.out.println("ok");但是這個方法有很多種重載的類

  • assertTrue/False 判定第一個條件是true還是false
  • assertEquals 接收兩個參數,第一個是參數值,第二個是希望返回的值
  • assertNotEquals 這個跟上一個方法恰好相反,相當于if(param!=param2)
  • assertSame/NotSame 判定兩個變量是否指向同一個內存地址
  1. @Test 
  2. public void test2() { 
  3.     List<String> list1 = Arrays.asList("a""b"); 
  4.     List<String> list2 = Arrays.asList("a""b"); 
  5.     List<String> list3 = list2; 
  6.  
  7.     Assert.assertEquals(list1,list2);//通過 
  8.     Assert.assertEquals(list3,list2);//通過 
  9.     Assert.assertSame(list3,list2);//通過 
  10.     Assert.assertSame(list1,list2);//不通過,因為list1和list2分別指向不同的內存地址 

web模擬

我們在@SpringBootTest注解上面加上使用隨機端口啟動

  1. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 
  1. @Autowired 
  2. private TestRestTemplate testRestTemplate; 
  3.  
  4. @Test 
  5. public void test3() throws URISyntaxException { 
  6.     String result = testRestTemplate.getForObject("/demo/test1", String.class); 
  7.     Assert.assertEquals(result,"hello junit test"); 

TestRestTemplate 是不是很熟悉,是的Springboot還為RestTemplate建立了專門的測試類。

注意:一定要使用隨機端口啟動,否則執行失敗。但是筆者感覺這個專門寫個測試類很麻煩,還不如直接使用postman測試,你們覺得呢?

數據庫測試

  1. @Test 
  2. @Transactional 
  3. public void test4() { 
  4.     User user = new User(); 
  5.     user.setName("abc"); 
  6.     user.setAge(19); 
  7.     user.setBirthday(new Date()); 
  8.     userJpa.save(user); 
  9.     Assert.assertTrue(user.getId()!=null); 
  10.     Assert.assertNotNull(user.getId()); 

注意:如果不想污染數據庫,可以加上@Transactional,執行成功之后數據庫事務會回滾,不會將數據真正插入到數據庫中。

idea為我們快速的創建test單元測試文件提供了快捷方式

選中需要進行單元測試的方法,右鍵-->go to-->Test就會為我們創建單元測試文件。

文章已經同步更新到 Java實驗室官方站點:

 

https://javawu.com/archives/2808

 

責任編輯:武曉燕 來源: Java實驗室
相關推薦

2009-09-01 16:45:00

C#單元測試工具

2011-10-20 10:09:14

JavaScript

2017-01-14 23:42:49

單元測試框架軟件測試

2021-08-04 10:51:04

數據庫單元測試SQL

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

JavaScript單元測試測試工具

2017-03-30 07:56:30

測試前端代碼

2010-06-29 14:49:12

Typemock IsVS2010

2017-09-26 08:51:25

2020-01-09 09:00:00

安全測試工具網絡安全安全工具

2022-02-21 07:54:28

單元測試編程開發

2023-07-26 08:58:45

Golang單元測試

2011-05-16 16:52:09

單元測試徹底測試

2019-07-22 09:24:54

LinuxMySQL數據庫

2023-04-14 09:04:07

測試TDBF單元測試

2017-01-14 23:26:17

單元測試JUnit測試

2017-01-16 12:12:29

單元測試JUnit

2011-06-14 15:56:42

單元測試

2024-12-02 18:16:56

2022-05-12 09:37:03

測試JUnit開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩一区二区三免费 | 精品国产乱码久久久久久丨区2区 | 一区二区视频在线 | 毛片毛片毛片毛片 | 日韩三级 | 中文字幕精品一区 | 99精品欧美一区二区蜜桃免费 | 国产一二区视频 | 亚洲国产午夜 | 国内自拍偷拍 | 欧美日韩精品免费 | 日本不卡一区二区三区在线观看 | 欧美日韩午夜精品 | 国产成人免费视频网站高清观看视频 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 欧州一区二区 | 91文字幕巨乱亚洲香蕉 | 毛片网站在线观看 | 国产一区二区在线免费观看 | 91成人免费看片 | 国产成人精品在线 | 黄色大全免费看 | 亚洲精品不卡 | 国产精品无码专区在线观看 | 亚洲a毛片 | 日韩专区中文字幕 | 麻豆av在线 | 天天亚洲| 免费在线黄 | 毛片久久久 | 在线国产一区二区 | 新疆少妇videos高潮 | 中文字幕在线观看视频网站 | 天天操夜夜操免费视频 | 精品久久久久久久久久久久久久久久久 | 欧美a在线看 | 国产精品一区二区在线 | 不卡一区 | 久久中文字幕一区 | 黑人巨大精品 | 国产97色 |