最近要開始嘗試 Test-driven development (TDD) 了,簡單地說就是以測試起家,什麼想做的事,第一件事就是幫它規劃輸入的參數與預期的輸出結果,然後就開始撰寫測試的程式碼,最後才開始填寫核心程式碼。

這樣的好處除了可以替案子留下測試的簡單驗證程式碼外,以避免未來案子過大造成的相互影響,也能更明確寫程式的目標,而唯一的缺點就是耗時間。以下紀錄 Django 在 apps 裡新增 testing 的環境。

  1. 在 project 中的 apps 裡新增 tests.py 檔案和 fixtures 目錄
  2. 在 fixtures 目錄裡準備一筆測資
    • ex: record_1000.json
    • 可從現有 database 匯出
      • # python manager dumpdata your_app > record_1000.json
  3. 撰寫 tests.py 檔案
    • import django
      import views as testingAPI

      class FuncTestCase(django.test.TestCase):
          fixtures=['record_1000']
          def test_MyFunc(self):
              tags='Testing for My Func'
              arg = 0
              result=testingAPI._MyFunc( arg )
              self.assertEqual(result["errorcode"],"0")

              return
  4. 測試
    • # python manage.py test your_app'

參考資料


changyy 發表在 痞客邦 PIXNET 留言(0) 人氣()