ddt运行报错AttributeError: type object 'TestLogin' has no attribute 'test_login'

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 拼写错误也可能报此错误

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值