AttributeError:module test_01_c has no attribute ‘test_01_c(self)’和Ran 0 tests in 0.000s

本想嘗試順序調用測試用例,遇到了下面一些問題,最後解決了 記錄一下

問題一 報AttributeError:module test_01_c has no attribute ‘test_01_c(self)’
解決辦法: 將import test_01_c 改爲 from test_01_c import test_01_c。這個還是因爲我初學python,以爲像java那樣import class就可以了
問題二:測試報告裏的測試用例統計爲0
解決方法,把加載測試用例的方法從方法二改成方法三就對了 這裏面的原因我還沒有研究…
方法二
suite.addTest(test_01_c.test_01_c)
suite.addTest(test_02_b.test_02_b)
suite.addTest(test_03_a.test_03_a)
方法三
#suite.addTest(test_01_c(“test_01_c”))
#suite.addTest(test_02_b(“test_02_b”))
#suite.addTest(test_03_a(“test_03_a”))

另 下面的代碼試驗了順序執行測試用例的5種方法
import unittest

class test_01_c(unittest.TestCase):
def test_01_c(self):
print(“11111111111”)

import unittest

class test_02_b(unittest.TestCase):
def test_02_b(self):
print(“22222222222”)

import unittest
class test_03_a(unittest.TestCase):
def test_03_a(self):
print(“333333333333”)

import os, time, unittest
from test_01_c import test_01_c
from test_02_b import test_02_b
from test_03_a import test_03_a
import HTMLTestRunner
report_path = os.getcwd() # 設置保存報告的路徑,這兒設置的是與執行文件在同一個目錄下
title = u"自己的第一個自動化測試" # 標題
report_abspath = os.path.join(report_path, title + “.html”) # 設置報告存放和命名

if name == “main”:
fp = open(report_abspath, “wb”)
suite = unittest.TestSuite()
#順序加載測試用例方法一
#tests=[test_01_c.test_01_c,test_02_b.test_02_b,test_03_a.test_03_a]
#suite.addTests(tests)
#順序加載測試用例方法二
suite.addTest(test_01_c.test_01_c)
suite.addTest(test_02_b.test_02_b)
suite.addTest(test_03_a.test_03_a)
#順序加載測試用例方法三
#suite.addTest(test_01_c(“test_01_c”))
#suite.addTest(test_02_b(“test_02_b”))
#suite.addTest(test_03_a(“test_03_a”))
#順序加載測試用例方法四
#suite.addTests(unittest.TestLoader().loadTestsFromName(‘test_01_c.test_01_c’))
#suite.addTests(unittest.TestLoader().loadTestsFromName(‘test_02_b.test_02_b’))
#suite.addTests(unittest.TestLoader().loadTestsFromName(‘test_03_a.test_03_a’))
#順序加載測試用例方法五
#suite.addTests(unittest.TestLoader().loadTestsFromNames([‘test_01_c.test_01_c’,‘test_02_b.test_02_b’,‘test_03_a.test_03_a’]))

# 執行測試方法一
runner = unittest.TextTestRunner()
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=title + ‘:’,verbosity=2) runner.run(suite)
# 執行測試方法二
# unittest.main()

fp.close()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章