我正在尝试在具有数据提供程序的 python 中创建一个单元测试。由于 unittest 库不支持这种原生性,我正在使用unittest_data_provider 包。我收到一个错误,不确定它来自哪里(我是 python 新手)。
我的代码
import unittest
from wikibase.dataModel.item_id import ItemId
from unittest_data_provider import data_provider
class TestItemId(unittest.TestCase):
itemIds = lambda: (
( 'q42' ),
( 'Q42' ),
( 'Q1' ),
( 'Q1000' ),
( 'Q31337' ),
)
@data_provider(itemIds)
def test_constructor(self, itemString):
itemId = ItemId(itemString)
self.assertEqual(itemId.getSerialization(), itemString)
我得到的错误:
文件“/usr/local/lib/python3.3/dist-packages/unittest_data_provider/init .py ”,第 7 行,repl fn(self, *i) TypeError: test_constructor() 接受 2 个位置参数,但给出了 4 个
这是使用python 3.3。