在項目經常會用到單元測試,這里對Junit在開發中的使用標准及使用方法進行簡單的介紹。
1.包目錄的定義以及相關jar包的添加
2.Junit3和Junit4分別對測試類的編寫
所測試的源代碼:
- package com.techbirds;
- public class HelloWorld {
- public void sayHello(){
- System.out.println("hello....");
- throw new NumberFormatException();
- }
- public void sayWorld(){
- System.out.println("world....");
- }
- public String say(){
- return "hello world!";
- }
- }
Junit3測試類編寫:
- package com.techbirds;
- import junit.framework.TestCase;
- public class HelloWorldTest extends TestCase{
- private HelloWorld hw;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- hw=new HelloWorld();
- }
- //1.測試沒有返回值
- public void testHello(){
- try {
- hw.sayHello();
- } catch (Exception e) {
- System.out.println("發生異常.....");
- }
- }
- public void testWorld(){
- hw.sayWorld();
- }
- //2.測試有返回值的方法
- // 返回字符串
- public void testSay(){
- assertEquals("測試失敗", hw.say(), "hello world!");
- }
- //返回對象
- public void testObj(){
- assertNull("測試對象不為空", null);
- assertNotNull("測試對象為空",new String());
- }
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- hw=null;
- }
- }
Junit4測試類編寫:
- package com.techbirds;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- //導入Assert類的靜態方法-為了便於junit4->junit3的轉換
- import static org.junit.Assert.*;
- public class HelloWorldTest {
- private HelloWorld hw;
- @Before
- public void setUp() {
- hw = new HelloWorld();
- }
- @Test(expected=NumberFormatException.class)
- // 1.測試沒有返回值,有別於junit3的使用,更加方便
- public void testHello() {
- hw.sayHello();
- }
- @Test
- public void testWorld() {
- hw.sayWorld();
- }
- @Test
- // 2.測試有返回值的方法
- // 返回字符串
- public void testSay() {
- assertEquals("測試失敗", hw.say(), "hello world!");
- }
- @Test
- // 返回對象
- public void testObj() {
- assertNull("測試對象不為空", null);
- assertNotNull("測試對象為空", new String());
- }
- @After
- public void tearDown() throws Exception {
- hw = null;
- }
- }
全部測試類運行: