簡體   English   中英

單元測試如何在django-tagging中工作,因為我想讓我像這樣運行?

[英]How do unit tests work in django-tagging, because I want mine to run like that?

幾次瀏覽各種Django應用程序中的tests目錄時,我偶然發現了models.pysettings.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM