ddt运行测试方法时报错AttributeError: type object 'TestHttpRq' has no attribute 'test_http_rq_login'
1 import unittest 2 import ddt #装饰器 3 from ddt import ddt,data,unpack #导入ddt中的各个模块 4 from homework.unittest_http_request_20190321.Method_http_request import * 5 6 @ddt #装饰测试类 7 class TestHttpRq(unittest.TestCase): #测试类-get请求 8 9 @data({"mobilephone":"","pwd":"183456"}, 10 {"mobilephone":"18688773467","pwd":""}, 11 {"mobilephone": "18688773467", "pwd": "123457"}, 12 {"mobilephone":"18688773467","pwd":"123456"}) #装饰方法,遍历data中的元素 13 def test_http_rq_login(self,login_data):#测试用例必须以test开头,不然报错 14 exp = ["用户名或密码错误","登录成功","手机号不能为空","密码不能为空"] 15 res = HttpRequest("get",login_data).http_request().json()['msg'] 16 self.assertIn(res,exp)#断言,判断实际值与预期值是否一致
1 D:\Python34\python.exe "D:\Program Files\JetBrains\PyCharm Community Edition 2017.2.3\helpers\pycharm\_jb_unittest_runner.py" --target unittest_http_rq.TestHttpRq.test_http_rq_login 2 Testing started at 13:10 ... 3 Launching unittests with arguments python -m unittest unittest_http_rq.TestHttpRq.test_http_rq_login in D:\python15期\homework\ddt_20190323 4 5 Traceback (most recent call last): 6 File "D:\Program Files\JetBrains\PyCharm Community Edition 2017.2.3\helpers\pycharm\_jb_unittest_runner.py", line 35, in <module> 7 main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING) 8 File "D:\Python34\lib\unittest\main.py", line 92, in __init__ 9 self.parseArgs(argv) 10 File "D:\Python34\lib\unittest\main.py", line 139, in parseArgs 11 self.createTests() 12 File "D:\Python34\lib\unittest\main.py", line 146, in createTests 13 self.module) 14 File "D:\Python34\lib\unittest\loader.py", line 157, in loadTestsFromNames 15 suites = [self.loadTestsFromName(name, module) for name in names] 16 File "D:\Python34\lib\unittest\loader.py", line 157, in <listcomp> 17 suites = [self.loadTestsFromName(name, module) for name in names] 18 File "D:\Python34\lib\unittest\loader.py", line 125, in loadTestsFromName 19 parent, obj = obj, getattr(obj, part) 20 AttributeError: type object 'TestHttpRq' has no attribute 'test_http_rq_login' 21 22 Process finished with exit code 1 23 Empty test suite.
运行程序时将鼠标定位在类或者程序外运行解决,ddt只能运行整体,不能运行局部即单个测试方法