javascript
单元测试@Test+@RunWith(SpringRunner.class)
什么是單元測試?
我們剛開始接觸編程過程中使用最多的測試就是使用main方法,但是main方法測試每次測試都需要全部執行完,效率比較慢,如何測試一部分代碼呢?那么就可以使用單元測試@Test來測試你需要驗證的代碼是否有bug問題(其實debug也可以)。
其實單元測試指程序員對軟件中的最小可測試單元進行檢查和驗證,就是幫我們迅速找出軟件中存在bug的一種方式而已(目前應用最廣泛的版本是JUnit4)。
測試分類
按是否查看代碼可以將測試分為黑盒測試,白盒測試,灰盒測試
黑盒測試
舉例解釋,一個電風扇你只需要測試按下開關,他能不能扇風(能不能實現這個功能),不需要知道他的底層實現原理。即為功能測試,關注被測軟件的功能實現;
白盒測試
舉例解釋,一個電風扇你需要知道他是如何通過線路電路實現按下開關去控制電扇的開關和調檔。
主要檢查軟件內部邏輯結構、程序設計等是否符合規定;
灰盒測試
舉例解釋,就是你理解那么一些電路和一些實現原理又不是很清楚,也知道如何使用,處于有一種佛系狀態(知道又不完全知道的狀態)。介于黑盒和白盒之間的一種測試,既關注功能也關注內部邏輯的實現,但并沒有白盒測試那么細致。需要灰盒測試的目的是因為白盒測試效率較低;
如何導入JUnit4
?
代碼測試:
import org.junit.After; import org.junit.Before; import org.junit.Test;/*** junit測試* @author Mixi*/ public class JunitTest {// 單元測試@Testpublic void test1() {System.out.println("test1");}@Testpublic void test2() {System.out.println("test2");}// 只要有@After,在所有測試方法(方法上有@Test的方法)執行之后,每一次測試都會執行一次(After方法)@Afterpublic void test4() {System.out.println("After");}// 只要有@Before,在所有測試方法(方法上有@Test的方法)執行之前,每一次測試都會執行一次(Before方法)@Beforepublic void test3() {System.out.println("Before");} }輸出結果
總結:
@Test就是一個工具而已。程序員對軟件中最小可測試單元進行檢查和驗證,就是幫我們迅速找出軟件中存在bug的一種方式而已。
第二種單元測試方式
/*** 開啟單元測試*/ @RunWith(SpringRunner.class) // SearchStarter指的是當前服務的啟動類名稱 @SpringBootTest(classes = SearchStarter.class) public class Course2ESTest {/*** 用來創建索引庫* 創建映射* */@Autowiredprivate ElasticsearchRestTemplate elasticsearchRestTemplate;/*** 用來將傳遞的信息存儲到索引庫中* */@Autowiredprivate CourseESRepository courseESRepository;/*** 測試創建索引庫和創建映射*/@Testpublic void testCreate() {// 創建索引庫 參數為文檔對象的類型 里面包含了保存到索引庫的字段elasticsearchRestTemplate.createIndex(Course2ESDoc.class);elasticsearchRestTemplate.putMapping(Course2ESDoc.class);}@Testpublic void testCRUD(){ // courseESRepository.save(new Course2ESDoc(1l,"測試",new BigDecimal(100),"用來測試的"));/* Optional<Course2ESDoc> byId = courseESRepository.findById(1l);Course2ESDoc course2ESDoc = byId.get();System.out.println(course2ESDoc);*/ // courseESRepository.deleteById(1l);courseESRepository.findAll();}}總結
以上是生活随笔為你收集整理的单元测试@Test+@RunWith(SpringRunner.class)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常见搜索算法(二):二分查找
- 下一篇: gradle idea java ssm