今天的實作內容主要根據教學網站進行。
在軟體開發流程的測試,以階段角度來看可以分為:
單元測試:測試單一模組功能是否正確,通常是以class或method層級進行。
迴歸測試:主要目的為測試新加入或修改的程式碼是否影響原有功能,主要做法為重複執行以前的測試項目。
整合測試:主要目的為測試模組與模組間的互動是否正確。
測試對於確保系統品質來說十分重要,但隨著系統越來越龐大,手動測試將花費大量人力與時間,自動化測試就顯得十分重要。
而Django提供的測試框架,可以協助我們完成單元測試的自動化。
Django在執行自動化測時,會自動執行當前目錄下檔名為test*.py格式的檔案,為了方便管理,可採用此架構進行測試程式的管理:
from django.test import TestCase
class MyTestClass(TestCase):
def setUpTestData(cls):
pass
def setUp(self):
pass
Django的TestCase中提供了兩種方法進行測試前的設定:setUpTestData()和setUp()。
setUpTestData():在該class測試進行前會執行一次。
setUp():在該class中每個測試方法執行前都會執行一次
使用以下指令即開始自動化測試:
python manage.py test
如果結果不符合,會將不符合的項目列出來。
今天在初次執行時,出現錯誤訊息:importError: 'tests' module incorrectly imported from 路徑
原因:Django的startapp建立資料夾時,會自動產生test.py檔,其檔案名稱和教學網站的流程中建立的資料夾同名,導致執行時發生錯誤。
解決方法:將tests.py刪除。