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 拼寫錯誤也可能報此錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM