Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django应用程序中缺少runTest函数_Python_Django_Python Unittest_Django Testing - Fatal编程技术网

Python Django应用程序中缺少runTest函数

Python Django应用程序中缺少runTest函数,python,django,python-unittest,django-testing,Python,Django,Python Unittest,Django Testing,我为我的项目中的一个应用程序提供了一个简单的测试套件 from django.test import TestCase from django.test import Client import unittest HTTP_OK = 200 HTTP_NOTFOUND = 404 class XMLTestCase(unittest.TestCase): """docstring for XMLTestCase""" def __init__(self, arg):

我为我的项目中的一个应用程序提供了一个简单的测试套件

from django.test import TestCase
from django.test import Client
import unittest


HTTP_OK = 200
HTTP_NOTFOUND = 404


class XMLTestCase(unittest.TestCase):
    """docstring for XMLTestCase"""

    def __init__(self, arg):
        super(XMLTestCase, self).__init__()
        self.arg = arg


    def setUp(self):
        self.client = Client()


    def test_get_xml(self):
        response = self.client.get('get_xml', {'domain': 'sqlconnect', 'stage': 'dev'})
        self.AssertEqual(response.status_code, HTTP_OK)
        self.AssertEqual(response['Content-Type'], 'text/xml')


    def test_get_xml_notfound(self):
        response = self.client.get('get_xml', {'domain': 'notadomain', 'stage': 'dev'})
        self.AssertEqual(response.status_code, HTTP_NOTFOUND)


    def test_upload_xml(self):
        f = open('sms_domain_sqlconnecttest.xml', 'r')
        response = self.client.post('test_upload_xml', {'xml_string': f.read, 'jobname': 'DRY_RUN'})
        self.AssertEqual(response.status_code, HTTP_OK)
        self.AssertEqual(response.content, 'File was uploaded')
当我通过调用python manage.py test运行单元测试时,这似乎失败了:

  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/commands/test.py", line 74, in execute
    super(Command, self).execute(*args, **options)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/core/management/commands/test.py", line 90, in handle
    failures = test_runner.run_tests(test_labels)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/test/runner.py", line 533, in run_tests
    result = self.run_suite(suite)
  File "/home/user/tireis/sqlconnect_ws/sqlconnect-dev/pyvenv/lib64/python3.4/site-packages/django/test/runner.py", line 494, in run_suite
    ).run(suite)
  File "/home/fds/lang/python/lib64/python3.4/unittest/runner.py", line 168, in run
    test(result)
  File "/home/fds/lang/python/lib64/python3.4/unittest/suite.py", line 84, in __call__
    return self.run(*args, **kwds)
  File "/home/fds/lang/python/lib64/python3.4/unittest/suite.py", line 122, in run
    test(result)
  File "/home/fds/lang/python/lib64/python3.4/unittest/case.py", line 663, in __call__
    return self.run(*args, **kwds)
  File "/home/fds/lang/python/lib64/python3.4/unittest/case.py", line 593, in run
    testMethod = getattr(self, self._testMethodName)
AttributeError: 'XMLTestCase' object has no attribute 'runTest'
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/home/user/tireis/sqlconnect\u ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/\uuuuuuu init\uuuuu.py”,第353行,从命令行执行
utility.execute()
文件“/home/user/tireis/sqlconnect\u ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/\uuuuuu init\uuuuuu.py”,执行中第345行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/home/user/tireis/sqlconnect\u ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/commands/test.py”,第30行,从\u argv运行
超级(命令,自我)。从_argv(argv)运行_
文件“/home/user/tireis/sqlconnect\u ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/base.py”,第348行,从\u argv运行
self.execute(*args,**cmd_选项)
文件“/home/user/tireis/sqlconnect_ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/commands/test.py”,第74行,在execute中
super(命令,self).execute(*args,**选项)
文件“/home/user/tireis/sqlconnect_ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/base.py”,第399行,在execute中
输出=self.handle(*args,**选项)
文件“/home/user/tireis/sqlconnect_ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/core/management/commands/test.py”,第90行,在handle中
失败=测试运行程序。运行测试(测试标签)
运行测试中的第533行文件“/home/user/tireis/sqlconnect_ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/test/runner.py”
结果=自运行套件(套件)
文件“/home/user/tireis/sqlconnect_ws/sqlconnect dev/pyvenv/lib64/python3.4/site packages/django/test/runner.py”,第494行,在run_套件中
).跑步(套房)
文件“/home/fds/lang/python/lib64/python3.4/unittest/runner.py”,第168行,运行中
测试(结果)
文件“/home/fds/lang/python/lib64/python3.4/unittest/suite.py”,第84行,在调用中__
返回自运行(*args,**kwds)
文件“/home/fds/lang/python/lib64/python3.4/unittest/suite.py”,第122行,正在运行
测试(结果)
文件“/home/fds/lang/python/lib64/python3.4/unittest/case.py”,第663行,在调用中__
返回自运行(*args,**kwds)
文件“/home/fds/lang/python/lib64/python3.4/unittest/case.py”,第593行,正在运行
testMethod=getattr(self,self.\u testMethodName)
AttributeError:“XMLTestCase”对象没有属性“runTest”
如果在unittest.main()中添加
,则无法解决此问题


提前感谢所有的帮助

我不知道客户机已经是TestCase的一个属性,删除类顶部的构造函数调用似乎可以解决问题

它是否与Django的
TestCase
一起工作,也就是说,当将代码更改为以下
类XMLTestCase(TestCase):
?Nikita仍然会收到相同的错误消息。但是manage.py确实为我在项目中使用的模块选择了unittest类型测试,并且这些测试运行良好。它会导致这个错误吗?我尝试删除所有其他测试,所以它们基于unittest的事实不会干扰djangotests@Nikita这些文件位于应用程序路径中的测试目录实际上,正如Django文档所说,您使用unittest的
TestCase
不应该影响
manage.py test
,在某些情况下,可能需要使用unittest的
TestCase
而不是Django的
TestCase
。这里的问题在于测试加载器:它似乎没有检测到以
test\uuu
开始的测试,以替代默认的
runTest
方法,如果您想要运行单个测试,则使用该方法。