所以我对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
测试套件。
再次感谢!
答案 0 :(得分: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_loc
和project_name
。
答案 1 :(得分:-1)
一个。这应该是代码文件的第一行(tests.py)
#!/usr/bin/env python
湾运行$ chmod +x tests.py