Jer*_*auw 9 python unit-testing dataprovider python-3.x python-3.3
我试图在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)
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
文件"/usr/local/lib/python3.3/dist-packages/unittest_data_provider/ INIT py"为7行,在REPL FN(个体,*I)类型错误:test_constructor()采用2的位置参数,但被给予4
这是使用python 3.3.
Jai*_*ime 10
你的itemIds
函数应该返回一个元组元组,但是你编码它的方式,它返回一个字符串元组.您需要,
在括号内添加一个返回单个项元组,尝试使用以下代码替换您的代码:
itemIds = lambda: (('q42',), ('Q42',), ('Q1', ), ('Q1000',), ('Q31337',),)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5560 次 |
最近记录: |