我正在尝试在Python中创建一个带有数据提供程序的单元测试。由于unittest库不支持这种功能,我正在使用unittest_data_provider包。 我遇到了错误,但不确定它来自哪里(我是Python新手)。
我的代码:
我得到的错误消息:
``` 文件 "/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。
我的代码:
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。