gpt4 book ai didi

python - 字典神奇地转换为在 nosetests 中设置

转载 作者:行者123 更新时间:2023-11-28 20:47:58 25 4
gpt4 key购买 nike

我创建了以下 Nose 测试:

@nottest
def _test_validate_helper_eq(self, input, expected, *args, **kwargs):
result = testedObcject.validatePrice(input, *args, **kwargs)
eq_(result, expected)


def test_validate_price(self):
yield self._test_validate_helper_eq, {}, {'price':'0'}
yield self._test_validate_helper_eq, {}, {'price', -1}, 'price', -1`

validatePrice 是测试对象的函数:

def validatePrice(self, input, name = 'price', default_price=0):
...
return validated_input

所以我有一个测试生成器,它使用 _test_validate_helper_eq 函数生成 2 个测试。此外,_test_validate_helper_eq 函数采用各种数量的参数并将其传递给 validatePrice

第一次测试通过,但是第二次有问题。如您所见,我向那里传递了另外 2 个参数,namedefault_price。此测试失败并出现以下错误:AssertionError: {'price': u'-1'} != set(['price', -1])

原来 expected 参数的值是一个 set 而不是我定义的字典。我不知道这个转换是通过 nose 还是因为使用了 *args**kwargs

知道发生了什么以及如何解决它吗?

最佳答案

输入错误:

yield self._test_validate_helper_eq, {}, {'price', -1}, 'price', -1`

这里 {'price', -1} 创建了一个集合,你想要一个字典,可能意味着输入 {'price': -1}

关于python - 字典神奇地转换为在 nosetests 中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com