我已經開始爲我的Django應用程序編寫一些測試,但我不確定如何最好地構造代碼。Django測試依賴於其他頁面/行爲
假設我有一個註冊頁面和一個僅用於登錄用戶的頁面。 我的第一個計劃是有一個較早的方法執行登錄測試頁面寄存器和後面的方法使用:
def test_register_page(self):
//send request to register page and check user has been registered correctly
def test_restricted_page(self):
c = Client();
c.login("someUser","pass");
c.post("/someRestrictedPage/");
//Test response
然而,這意味着現在的我的測試一個依賴於其他。
我看到的替代方法是在setUp()中調用寄存器,但這仍然意味着受限制的頁面測試依賴於寄存器頁面的工作。
我可以嘗試在安裝程序中手動創建新用戶,我也不喜歡它,因爲這不是測試系統創建的用戶。
測試這種情況的通常模式是什麼?
對不起,如果我不清楚。這些應該是兩個單獨的單元測試,一個測試限制對登錄用戶的訪問,另一個測試註冊用戶。聽起來像setup()應該手動創建一個用戶進行測試。謝謝你的幫助。 – Jim 2012-03-15 12:53:45
@Jim:如果你對這個主題感興趣,在Django中有一個很好的談話單元測試,特別是爲測試創建對象的一些舒適的方法:https://www.youtube.com/watch?v=ickNQcNXiS4&context = C44039cbADvjVQa1PpcFPQunG_ULh73WnDAl7g7Y8JDYIDmeEZjYQ = – 2012-03-15 13:30:34