0

所以我很熟悉manage.py test myapp。但我不知道如何使我的tests.py工作成为一个独立的可执行文件。您可能想知道我为什么要这样做。我正在(现在)在 Eclipse 中工作,但我似乎无法弄清楚如何设置工具来简单地运行此命令。tests.py无论如何,以简单的方式简单地包装以运行它会非常好。

这是我的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)

谢谢帮忙!!

**** 更新 ****

我想做的(Doh!)是简单地运行“myApp”测试。问题是这行得通(而 chmod 不是问题),但它想运行整个测试套件。我不想要那个。我只想运行myApp测试套件。

再次感谢!

4

2 回答 2

1

您可以为您的项目创建一个“外部工具”配置,例如:

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

这将运行 manage.py test <您在字符串提示中键入的任何名称>。

上面的值假设您在 Eclipse 中创建了一个pydev项目,然后将您的 Django 项目存放在 pydev src 目录中。它还假设您的 pydev 项目名称与您的 Django 项目名称相同。它将使用包资源管理器中当前选择的项目来确定project_locproject_name

于 2009-11-12T17:47:13.680 回答
-1

一种。这应该是代码文件 (tests.py) 的第一行

#!/usr/bin/env python

湾。跑$ chmod +x tests.py

于 2009-11-12T04:57:02.383 回答