【发布时间】:2018-06-12 21:48:55
【问题描述】:
我正在使用 HtmlTestRunner 生成我的测试报告,但我无法理解为什么会出现此错误:"TypeError: issubclass() arg 1 must be a class"
我的设置是 Python 3.6、pytest、Ubuntu 17.10。
这是我写的代码:
from pages.Home.category_page import CategoryPage
from utilites.testStatus import TestStatus
import pytest
import unittest
import time
@pytest.mark.usefixture("oneTimeSetUp","setUp")
class CategoryTest(unittest.TestCase):
@pytest.fixture(autouse=True)
def classSetup(self,oneTimeSetUp):
self.ca = CategoryPage(self.driver)
self.ts = TestStatus(self.driver)
@pytest.mark.run(order=1)
def test_Announcements_link_WAF001(self):
result = self.ca.find_announcements_link()
self.ts.markFinal("Announcements link", result,"To find announcements link")
time.sleep(2)
@pytest.mark.run(order=2)
def test_FirstLinkInAnnouncements_WAF002(self):
result=self.ca.find_first_announcement_link()
self.ts.markFinal("Latest link in announcements",result,"To click on latest announcements link")
time.sleep(2)
@pytest.mark.run(order=3)
def test_Products_Link_WAF003(self):
result=self.ca.find_products()
self.ts.markFinal("Products link",result,"To find products link")
time.sleep(2)
@pytest.mark.run(order=4)
def test_FirstLinkInProducts_WAF004(self):
result=self.ca.find_first_products_link()
self.ts.markFinal("Latest link in products",result,"To click on latest products link")
time.sleep(2)
测试套件运行器:
from unittest import TestLoader, TestSuite
from HtmlTestRunner import HTMLTestRunner
from tests.Home import category_test
example_tests = TestLoader().loadTestsFromTestCase(category_test)
suite = TestSuite(example_tests)
runner = HTMLTestRunner(output='example_suite', template='path/to/template', report_title='My Report')
runner.run(suite)
这是产生的错误:
Traceback (most recent call last):
File "/home/manoj/PycharmProjects/untitled8/test/test_suite.py", line 6, in <module>
example_tests = TestLoader().loadTestsFromTestCase(to_test_login)
File "/usr/lib/python3.6/unittest/loader.py", line 85, in loadTestsFromTestCase
if issubclass(testCaseClass, suite.TestSuite):
TypeError: issubclass() arg 1 must be a class
【问题讨论】:
-
错误标记在哪里?
-
如果您想使用
unittest运行测试,则不应使用pytest功能。 -
这是我收到的错误@Dragonthoughts Traceback(最近一次调用最后一次):文件“/home/manoj/PycharmProjects/untitled8/test/test_suite.py”,第 6 行,在
example_tests = TestLoader().loadTestsFromTestCase(to_test_login) File "/usr/lib/python3.6/unittest/loader.py", line 85, in loadTestsFromTestCase if issubclass(testCaseClass, suite.TestSuite): TypeError: issubclass() arg 1 must成为一个班级
标签: python python-3.x typeerror pytest