2012-04-27 90 views
1

我正在構建一個Django應用程序,並且正在嘗試決定如何爲我的代碼設置單元測試。查看Django文檔,我發現單元測試有兩個選項,Python2.7的內置測試和Django的自定義TestCase類。當試圖查看使用哪一個時,Django似乎只列出了Python的好處(https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs#which-should-i-use)。Django vs Python2.7 unittest TestCase?

哪個單元測試框架更適合?

回答

2

簡短回答:使用Django TestCase。它完成了python unittest.TestCase可以完成的所有工作。

Python和Django TestCase類都用於單元測試。您鏈接到的Which should I use部分正在比較單元測試文檔測試

Django TestCase只是python unittest.TestCase的擴展。如果您使用的是早期版本的Python,那麼Django TestCase允許您使用一些整潔的功能,如assertRaisesExp,這些功能僅適用於python 2.7的unittest.TestCase

由於您使用Python 2.7,你並不需要使用Django的TestCase一個爲Python 2.7的,但仍然有許多額外的功能,例如fixture loading,這意味着你應該使用Django的TestCase

+1

Django的'TestCase'只是重新分配了最新的'unittest'模塊,以確保所有功能都適用於老版本的解釋器。如果你想確保你可以使用'unittests' 2,並且仍然保持Python 2.5的兼容性,這是人們所期望的。爲了兼容Python 2.5,還有其他的東西被重新分配。 – 2012-04-27 10:22:49