我认为这应该有一个简单的答案,而且我对Python还比较陌生,所以要温柔
如果我有这个功能:
def random_fruit():
fruits = ['apple','banana','coconut']
return "I like " + random.choice(fruits)
我想创建一个修改水果列表的测试。但我不知道该怎么做。所以我想做这样的事情,这显然是行不通的
class TestFruit(unittest.TestCase):
@mock.patch('fruits')
def test_random_fruit(self, fruits_list):
fruits_list = ['kiwi']
self.assertEqual(random_fruit(), u"I like kiwi")
任何帮助都将不胜感激。谢谢
测试函数的一种方法是^{} the ^{} module ,而不是尝试修改列表,因此每次都会得到相同的“随机”结果:
或者,将列表设为参数(请注意使用
None
作为可变默认参数-请参见this question):其运行方式如下:
请注意,如果立即覆盖
test_random_fruit
的参数,则没有意义:相关问题 更多 >
编程相关推荐