0

我正在尝试将 unittest 属性添加到 Python 中的对象

class Boy:

    def run(self, args):
        print("Hello")

class BoyTest(unittest.TestCase)

    def test(self)
         self.assertEqual('2' , '2')

def self_test():
    suite = unittest.TestSuite()
    loader = unittest.TestLoader()
    suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))
    return suite

"AttributeError: class Boy has no attribute 'BoyTest'"但是,每当我打电话时,我都会收到self_test()。为什么?

4

2 回答 2

3

作为 的参数loadTestsFromTestCase,您正在尝试访问Boy.BoyTest,即BoyTest类 object 的属性,该属性Boy不存在,正如错误消息告诉您的那样。你为什么不直接使用BoyTest那里呢?

于 2009-08-27T04:33:25.033 回答
-1

正如亚历克斯所说,您正在尝试使用 BoyTest 作为 Boy 的属性:

class Boy:

    def run(self, args):
        print("Hello")

class BoyTest(unittest.TestCase)

    def test(self)
         self.assertEqual('2' , '2')

def self_test():
    suite = unittest.TestSuite()
    loader = unittest.TestLoader()
    suite.addTest(loader.loadTestsFromTestCase(BoyTest))
    return suite

注意变化:

suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))

到:

suite.addTest(loader.loadTestsFromTestCase(BoyTest))

这能解决你的问题吗?

于 2009-08-27T10:23:31.533 回答