1
安裝拆卸登錄註銷要測試輪詢應用程序,我使用Django做的先決條件,表決/ viewing_results是用戶應該可以登錄了。我想創建一個測試套件安裝在什麼地方涉及到創建testuser,登錄和拆卸涉及註銷用戶和刪除用戶。正確的方式在Django
我遇到了setUp()和tearDown()方法 - 但知道它們是針對測試中的每種方法完成的。我想在課堂上有這個功能,並且看到django具有setUpClass和tearDownClass - 但是因爲它們是類方法,所以我無法對它們執行self.client.login,self.client.logout。然後我創建了一個具有setUp和tearDown方法的LoginMixin。
我想知道這兩種方法哪一種更pythonic,是否有更好的選擇,而不是在每次測試之前登錄和註銷?
已經安裝,拆卸方法:
def setUp(self): self.user = utils.create_user() self.client.login(username='testuser', password='testpasswd') def tearDown(self): self.client.logout() utils.delete_user(self.user)
有一個LoginMixin,讓每個測試類從它派生:
class LoginMixin(): def setUp(self): self.user = create_user() self.client.login(username='testuser', password='testpasswd') def tearDown(self): self.client.logout() class MyTest(LoginMixin, TestCase): .... ....
我使用django_nose作爲TestRunner的。
什麼應用程序/模塊你用來測試? WebTest的? –
使用django_nose作爲Testrunner - 測試已經使用通常的django單元測試編寫,如此處所述 - https://docs.djangoproject.com/en/dev/topics/testing/overview/ –
好吧,像在TestCase中一樣文檔。創建一個名爲「Something(TestCase)」的類。然後,爲這個類創建'setUp'和'tearDown'(每次調用'Something'類中的函數時都會調用它們,然後創建您需要的函數測試(名稱必須以'test _....'開頭。當然,setUp和tearDown將會執行登錄/註銷 –