zoukankan      html  css  js  c++  java
  • ddt运行报错AttributeError: type object 'TestLogin' has no attribute 'test_login'

    源代码:

    #!usr/bin/python3
    # -*- coding:utf-8 -*-
    # @Time: 2018/12/17 下午2:07
    # @File: do_excel.py
    # @Software: PyCharm
    import unittest
    from api_auto.common.do_excel import DoExcel
    from api_auto.common.do_excel import project_path
    from api_auto.common.request import Request
    import json
    from ddt import ddt, data
    
    do_excel = DoExcel(project_path.CASE_FILE)
    cases = do_excel.get_cases("login")
    # 测试登录
    @ddt
    class TestLogin(unittest.TestCase):
    
        def setUp(self):
            pass
    
        def tearDown(self):
            pass
    
        @data(*cases)
        def test_login(self, case):
            data_dict = json.loads(case.data)
            response = Request(method=case.method, url=case.url, data=data_dict)
            print("statue_code:", response.get_statue_code())
            try:
                self.assertEqual(case.expected, response.get_text())
            except AssertionError as e:
                print("断言错误")
                raise e

    原因:运行的时候光标的位置放在 test_login 方法里面了,加了ddt后,运行时要先识别装饰的类,将光标放在某一个方法后面的话,测试用例只会执行当前的方法,ddt识别不到类,就会报错,

    将光标放到外面,则运行通过,或者加main方法,再运行,也不会报错

     

    其他可能原因,setUp 或者 tearDown 拼写错误也可能报此错误

  • 相关阅读:
    Mysql优化之Explain查询计划查看
    map转listmap
    代码大全
    cas
    日志
    xml模板
    springboot
    日志
    spring应用
    拆分表中sheet
  • 原文地址:https://www.cnblogs.com/kulankadamei/p/10166066.html
Copyright © 2011-2022 走看看