当我对单元测试运行我的代码时,出现问题。任何意见,将不胜感激。请看以下代码:返回正数和负数总和的列表的函数
def manipulate_data(data):
count = 0
sum1 = 0
new_list = []
for x in data:
if x > 0:
count += 1
if x < 0:
sum1 += x
new_list.append(count)
new_list.append(sum1)
return new_list
单元测试是下面:
import unittest
class ManipulateDataTestCases(unittest.TestCase):
def test_only_lists_allowed(self):
result = manipulate_data({})
self.assertEqual(result, 'Only lists allowed', msg='Invalid argument')
def test_it_returns_correct_output_with_positives(self):
result = manipulate_data([1, 2, 3, 4])
self.assertEqual(result, [4, 0], msg='Invalid output')
def test_returns_correct_ouptut_with_negatives(self):
result = manipulate_data([1, -9, 2, 3, 4, -5]);
self.assertEqual(result, [4, -14], msg='Invalid output')
我得到的错误是:
`Total Specs: 3 Total Failures: 1
1 . test_only_lists_allowed
Failure in line 11, in test_only_lists_allowed
self.assertEqual(result, 'Only lists allowed', msg='Invalid argument')
AssertionError: Invalid argument`
你的函数实际上确实与字典工作,并返回“正确”的结果( '{}'的情况下,结果是'[0,0]')。 – tcooc