【问题标题】:How to initialise class variable in unittest如何在单元测试中初始化类变量
【发布时间】:2019-09-06 05:52:33
【问题描述】:

我有一个有几个函数的类,我正在为类中的delete 函数编写单元测试,但我收到以下错误:

TypeError: __init__() missing 4 required positional arguments: 'self', 'test1', 'test_id', and 'test_buckets'

class TestEntry:
   

    def __init__(self, test1, test_id, test_buckets):
        self.test1 = test
        self.test_id = test_id
        self.test_buckets(buckets)


    def delete(self):
        if self.test_id in self.test1.entries:
            del self.test1.entries[self.test_id]
        return valve_of.groupdel(test_id=self.test_id)




class TestValveEntry(unittest.TestCase):
    def test_delete(self):
        newentry = TestEntry()
        addflow = newentry.add()
        delete_entry = newentry.delete(addflow)
        self.assertEqual(delete_entry, None)

【问题讨论】:

    标签: python python-unittest


    【解决方案1】:

    这个错误清楚地回答了这个问题。您没有提供初始化类所需的参数。

    def __init__(self, test1, test_id, test_buckets)
    

    要求test1, test_id, test_buckets 作为参数。但是你在打电话

    newentry = TestEntry()
    

    没有参数。

    要么为您的参数提供默认值,例如

    def __init__(self, test1=None, test_id=None, test_buckets=None)
    

    或将适当的参数传递给构造函数。,

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多