HTMLTestRunner报错:raise TypeError("{} is not callable".

Python3 在使用HTMLTestRunner时,报错:raise TypeError("{} is not callable".format(repr(test)))

代码如下:

import pymysql

import unittest

import time

import unittest.suite

import HTMLTestRunner

import sys

def hell(a):

print(a)

return a

testunit = unittest.TestSuite()

testunit.addTest(hell('ad'))

filename = '/Users/vivi/Downloads/aa.html'

fp = open(filename, 'wb') # 之前写的是file(filename,'wb'),但是无法识别file方法,改成open,OK!

runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'print', description=u'简单')

runner.run(testunit)

运行后报错:

Traceback (most recent call last):

File "/Applications/Python 3.5/……/B.py", line 30, in <module>

testunit.addTest(hell('ad'))

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/unittest/suite.py", line 47, in addTest

raise TypeError("{} is not callable".format(repr(test)))

TypeError: 'ad' is not callable

回答:

unittest.TestSuite 实例的 addTest() 方法使用不正确,传参有误,建议好好看看unittest模块的文档。

给出一个代码示例:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import unittest

import HTMLTestRunner

def hell(a):

print(a)

return a

class HellTest(unittest.TestCase):

def setUp(self):

self.hell = hell

def tearDown(self):

pass

def testHell(self):

self.assertEqual(self.hell('ad'), 'ad')

if __name__ == '__main__':

testunit = unittest.TestSuite()

testunit.addTest(HellTest('testHell'))

filename = 'D:\\aa.html'

fp = open(filename, 'wb')

runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'print', description=u'简单')

runner.run(testunit)

fp.close()

运行结果

回答:

可以問個問題嗎

以上是 HTMLTestRunner报错:raise TypeError(&quot;{} is not callable&quot;. 的全部内容, 来源链接: utcz.com/a/161040.html

回到顶部