我遇到了错误:ValueError: need more than 2 values to unpack,当我运行单元测试时,现在有两个失败和一个跳过。根据我所阅读的内容,源代码中第142行的方法为:
在Python 2.x中,您不能直接这样做,但应该能够创建一个函数来将输入参数元组长度延长或缩短到正确的长度,以便您可以执行以下操作:
因此,以下行:
谢谢, -Kamal.
lambda i: get_error_count(self._error_lookup, i))其中以下一行代码:
for test, err, capt in errors:使用了以下这一行代码:
count = get_error_count(i)引用说明Python 3.0中有类似这样的东西。多余的值可以绑定(作为列表)到最后一个变量上:
a,b,*c = [1,2,3,4,5]将导致c包含[3,4,5]。
在Python 2.x中,您不能直接这样做,但应该能够创建一个函数来将输入参数元组长度延长或缩短到正确的长度,以便您可以执行以下操作:
a,c,b = fix(1,2) d,e,f = fix(1,2,3,4)然而,函数不会知道左侧序列的长度,因此必须将其作为额外的参数或硬编码传递进去。
因此,以下行:
count = get_error_count(i)仅使用了一个变量,而
def get_error_count(lookup, index):则需要2个变量。我应该使用什么作为第二个变量?来修复这个问题?
谢谢, -Kamal.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/Current/bin/nosetests", line 10, in <module>
sys.exit(run_exit())
File "/Library/Frameworks/Python.framework/Versions/6.3/lib/python2.6/site-packages/nose/core.py", line 117, in __init__
**extra_args)
File "/Library/Frameworks/Python.framework/Versions/6.3/lib/python2.6/unittest.py", line 817, in __init__
self.runTests()
File "/Library/Frameworks/Python.framework/Versions/6.3/lib/python2.6/site-packages/nose/core.py", line 196, in runTests
result = self.testRunner.run(self.test)
File "/Library/Frameworks/Python.framework/Versions/6.3/lib/python2.6/site-packages/nose/core.py", line 63, in run
result.printErrors()
File "/NOSE_TRIM/nosetrim-read-only/nosetrim/nosetrim.py", line 136, in printErrors
lambda i: get_error_count(self._error_lookup, i))
File "/NOSE_TRIM/nosetrim-read-only/nosetrim/nosetrim.py", line 142, in printErrorList
for test, err, capt in errors:
ValueError: need more than 2 values to unpack
/
--------------------- >> 结束标准输出 << ----------------------
在1.263秒内运行了3个测试