• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 什么是單元測試:單元測試基礎

    發表于:2012-03-14來源:譯言網作者:薄荷腦點擊數: 標簽:單元測試
    什么是單元測試 如果你對單元測試已經有概念了,就請跳過本章。 簡單地說,單元測試是用代碼測試代碼。不同的語言有不同的庫,提供了多種測試工具。PHP有PHPUnit、SimpleTest;Java有JUnit;.NET框架則有NUnit等等。

      什么是單元測試

      如果你對單元測試已經有概念了,就請跳過本章。

      簡單地說,單元測試是用代碼測試代碼。不同的語言有不同的庫,提供了多種測試工具。PHP有PHPUnit、SimpleTest;Java有JUnit;.NET框架則有NUnit等等。

      使用這些工具編寫測試代碼后,你就可以非常方便地進行自動、重復的單元測試。通過編寫單元測試代碼,你可以保證所寫的代碼能夠得到預期的運行結果。即使日后代碼要做修改,只要重新運行單元測試并獲得通過,則能說明新的代碼是正確的。

      Wikipedia上的一篇文章對單元測試作了非常好的定義,如果想深入了解的話可以去閱讀。

      何時使用單元測試

      簡單的回答是:永遠。

      稍長一點的回答是:這取決于項目的復雜度和生命周期。

      如果是一個非常小型的項目,那花在編寫單元測試上的時間更應該用在寫項目上。因為如果項目比較簡單,就可以在編寫代碼的時候進行手工測試,這應該是比較容易的。

      如果項目的生命周期較短,你肯定也不愿花大把時間用來寫單元測試。因為生命周期較短的項目不會進行較大的改動,也不需要進行較多維護。這樣一來,單元測試的價值就體現不了了。

      即便如此,如果你確實有時間和精力去為小型項目寫單元測試的話,也可能是個不錯的主意。這主要看實際情況如何,但是我上面提出的兩種情況還是有代表性的。

      寫好單元測試

      單元測試的目的是測試一段代碼的運行結果是否正確。這段代碼通常是某個類的某個方法。

      通常來說應該給每個行為編寫一個測試:給出正確的參數時的運行結果、非法參數的運行結果,對這兩點的測試是一定要寫的。根據實際情況,也許需要編寫更多的測試。

      代碼覆蓋率是用來衡量單元測試好壞的常用指標。也就是說,有多少代碼是被測試到的,各個分支結構和代碼塊是否都被運行過,各個函數是否都被調用過等等。

      但是,代碼覆蓋率這個指標有時也會產生誤導,因為即使全部的代碼都被測試到了,也未必說明這些代碼所得到的運行結果是正確的。

      下周我會給你一些例子來說明這個問題。

      小結

      單元測試可以很好地提高代碼質量,包括正確性以及模塊化程度。因為,它會促使你寫出可重用的、靈活的代碼,否則將很難進行測試。

      下周我會舉具體的例子來說明如何進行代碼測試,敬請期待。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>