java 測試 (junit+ junit 斷言 + postman)


    實際開發中,除了開發,我想測試也是必不可少的一環吧。從簡單的@Test 、main 方法測試 到 頁面測試 ,斷言,postman。 bug是無處不在,隨時發生的事,高效率的調試、檢測可以節省大量的開發時間。 思路一確定,敲代碼也就花不了多少時間,可是敲完代碼后的調試,檢測往往會花費許多時間。 甚者除了頁面調試(通過jsp,HTML頁面帶參過來到后台,后台返回參數給頁面) 其他的一點都不會。記得去年的時候,公司做個金融產品,是跟外部的團隊合作一起開發的。由於前端頁面是由外部團隊提供給我們的,所以有時候他們還未提供給我們頁面的時候,我們就自己根據接口文檔等把后台業務相關邏輯處理好。 某天上午,公司一個新來的新手跑過來問我:XXX, 代碼寫完啦,沒有頁面怎么測啊。 我當時就感到奇怪,沒有頁面就不能測嗎? 我反問了他一句, 他請我過去幫忙教教他,我也就回了句自己去百度就沒理了。那時候想着就是雖然測試不是我們的主業,有測試,可是我們開發人員自測的手段還是要有一些的吧。剛好現在已經開始寫博客了,今天也有空,也就寫篇相關的博客,記錄記錄

    閱讀此篇博客前閱讀本人的junit 常用注解 + junit 斷言詳解 + junit 運行(eclipse + IDEA)

    1. @Test , main 方法

    這個是最簡單測試了,一般用於測試一些方法,實現,比如你寫了個方法,要想看看能不能用,寫了一個算法,想看看對不對,你就可以通過這些方法來測試。

    2. junit 常用注解 + junit 斷言 Assert(請結合junit 常用注解 + junit 斷言詳解這篇博客 理解):

//junit 測試(包括斷言,測試集等)
public class Test3 {


 /*   @BeforeClass
    public static void beforeClass(){
        System.out.println("beforeClass");
    }


    @Before
    public void before(){
        System.out.println("before");
    }*/

    @Test(timeout = 10)
    public void test1(){
        Assert.assertEquals(1,1);
//            Assert.fail("fail");
        }

    @Test(expected = ArithmeticException.class)
    public void test2(){
        boolean flag = true;
        Assert.assertTrue(flag);
        Assert.assertEquals(1,1);
    }


        @Ignore
    public  void ignore(){
            System.out.println("ignore");
        }


 /*   @After
    public void after(){
        System.out.println("after");
    }

    @AfterClass
    public static void afterClass(){
        System.out.println("afterClass");
    }
*/

}

  3.junit 對SpringMVC 的Controller  進行測試:(注意這是基於ssm 框架 web 工程 的spring MVC,像spring boot 集成的是不一樣的):

// 使用spring 測試集測試
@RunWith(SpringJUnit4ClassRunner.class)
// 配置上下文配置
@ContextConfiguration("classpath*:spring-mvc.xml")
public class TestController {

    // 模擬request,response
    private MockHttpServletRequest request;
    private MockHttpServletResponse response;

    // 注入loginController
    @Autowired
    private LoginController loginController ;

    // 執行測試方法之前初始化模擬request,response
    @Before
    public void setUp(){
        request = new MockHttpServletRequest();
        request.setCharacterEncoding("UTF-8");
        response = new MockHttpServletResponse();
    }

    /**
     * @Title:testLogin
     * @Description: 測試用戶登錄
     */
    @Test
    public void testLogin() {
        try {
            request.setParameter("userName", "admin");
            request.setParameter("password", "2");
            Assert.assertEquals("login",loginController.loginTest(request,response)) ;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}

  4. postman  自測 (postman 一般是用於自測 restful 類型的接口, 用於自測前后端對接調用的接口等)(這是postman的基礎功能 ): 請參考 https://blog.csdn.net/fxbin123/article/details/80428216  個人認為講的較詳細了

  參考於https://blog.csdn.net/fxbin123/article/details/80428216 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM