python - HTMLTestRunner报错:raise TypeError("{} is not callable".
天蓬老师
天蓬老师 2017-04-18 09:53:22
0
1
1730

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
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(1)
大家讲道理

La méthode

de l'instance unittest.TestSuiteaddTest() est mal utilisée et les paramètres sont mal passés. Il est recommandé de lire attentivement la documentation du module unittest.

Donnez un exemple de code :

#!/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()

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal