[英]How do unit tests work in django-tagging, because I want mine to run like that?
幾次瀏覽各種Django應用程序中的tests
目錄時,我偶然發現了models.py
和settings.py
文件(例如,在django-tagging
中)。
但是,找不到同步測試模型或應用自定義測試設置的代碼-但是測試會像django會自動神奇地加載它們那樣使用它們。 但是,如果我嘗試運行django-tagging
的測試: manage.py test tagging
,它甚至不會執行單個測試。
這正是我現在測試我的應用程序所需要的,但並不真正知道如何做。
那么它是怎樣工作的?
如果要在django-tagging
運行測試,可以嘗試:
django-admin.py test --settings = tagging.tests.settings
基本上,它使用doctests,它位於tests
包/目錄內的tests.py
文件中。 測試使用同一目錄中的設置文件(並在django-admin的命令行中指定)。 有關更多信息,請參見有關編寫doctest的django文檔。
您的意思是,“如何在Django中編寫單元測試?” 檢查有關測試的文檔 。
完成后,我在test /子目錄中編寫了單元測試。 確保目錄中有一個空的__init__.py文件。 您可能還需要models.py文件。 添加從unittest.TestCase派生的單元測試(在unittest模塊中)。 將模塊“ xxxx.test”添加到settings.py中的INSTALLED_APPS中(其中“ xxxx”是應用程序的基本名稱)。
這是我的一些示例代碼,可以幫助您入門:
#!/usr/bin/env python
# http://docs.djangoproject.com/en/dev/topics/testing/
from sys import stderr
import unittest
from django.test.client import Client
from expenses.etl.loader import load_all, load_init
class TestCase(unittest.TestCase):
def setUp(self):
print "setUp"
def testLoading(self):
print "Calling load_init()"
load_init()
print "Calling load_all()"
load_all()
print "Done"
if __name__ == '__main__':
unittest.main()
如果您的意思是“如何將數據加載到單元測試中?”,請使用同一文檔頁面上介紹的固定裝置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.