2009-11-12 88 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

相关问题