2009-11-12 78 views
0

所以我對manage.py test myapp非常熟悉。但我不知道如何使我的tests.py作爲一個獨立的可執行文件工作。您可能想知道爲什麼我想這樣做..好吧,我在Eclipse中工作(現在),我似乎無法弄清楚如何設置工具來簡單地運行此命令。無論如何簡單地將tests.py換成簡單的方式來運行它將會非常好。我的tests.py看起來像。Django單元測試 - 爲什麼我不能在myApp上運行./tests.py?

""" 
This simply tests myapp 
""" 
import sys 
import logging 
from django.test import TestCase 

from django.conf import settings 
from django.test.utils import get_runner 

class ModelTest(TestCase): 

    def test_model_test1(self): 
     """ 
     This is test 1 
     """ 
     self.failUnlessEqual(1 + 1, 2) 

    def test_model_test2(self): 
     """ 
     This is test 2 
     """ 
     self.failUnlessEqual(1 + 1, 2) 

    def test_model_test3(self): 
     """ 
     This is test 3 
     """ 
     self.failUnlessEqual(1 + 1, 2) 

def run_tests(): 
    test_runner = get_runner(settings) 
    failures = test_runner([], verbosity=9, interactive=False) 
    sys.exit(failures) 

if __name__ == '__main__': 
    # Setup Logging 
    loglevel = logging.DEBUG 
    logging.basicConfig(format="%(levelname)-8s %(asctime)s %(name)s %(message)s", 
         datefmt='%m/%d/%y %H:%M:%S', stream=sys.stdout) 
    log = logging.getLogger("") 
    run_tests() 

我認爲解決的辦法是位於這條線,但我似乎無法找出的第一個參數必須是爲了爲它奇蹟般地開始工作..

failures = test_runner([], verbosity=9, interactive=False) 

謝謝幫助!

**** ****更新

我所希望做的(衛生署!)是簡單地運行 「對myApp」 的測試。問題是,這是有效的(並且chmod不是問題),但它想要運行整個測試套件。我不想那樣。我只想運行myApp測試套件。

再次感謝!

+0

如果您可以向我們展示它如何不起作用,它會更容易幫助。 – 2009-11-12 12:23:01

+0

現在運行它時會發生什麼,它希望運行整個套件以用於我希望它爲此應用運行的「所有」應用。謝謝!! – rh0dium 2009-11-12 14:26:36

+0

您是否使用「外部工具配置」來運行測試? – cethegeek 2009-11-12 17:32:44

回答

1

您可以爲項目創建一個「外部工具」的配置,如:

Location: ${project_loc}/src/${project_name}/manage.py 
Working Directory: ${project_loc}/src/${project_name}/ 
Arguments: test ${string_prompt} 

這將運行manage.py測試<任意名稱的字符串提示>鍵入。

上述值假定您在Eclipse中創建了一個pydev項目,然後將您的Django項目放置在pydev src目錄中。它還假定您有pydev的項目名稱與您的Django項目名稱相同。它將使用包資源管理器中當前選定的項目來確定project_locproject_name

+0

你完全釘了它!謝謝! – rh0dium 2009-11-12 18:22:38

-1

a。這應該是您的代碼文件的第一行(tests.py)

#!/usr/bin/env python 

b。運行$ chmod +x tests.py

+0

不是已經完成了。它從命令行工作沒有問題。 – rh0dium 2009-11-12 14:25:51

相關問題