【发布时间】:2017-02-15 22:19:57
【问题描述】:
我是 python 新手,一直在使用 python 3 进行学习。我正在使用 python 的单元测试框架来测试我的代码。
问题:-
我需要进行单元测试的函数以下列方式接受输入:-
def compare():
a, b, c = input().strip().split(' ')
d, e, f = input().strip().split(' ')
# other code here
我正在使用以下测试用例来模拟输入:-
class TestCompare(unittest.TestCase):
@patch("builtins.input", lambda: "1 2 3")
@patch("builtins.input", lambda: "4 5 6")
def test_compare(self):
self.assertEqual(compare(), "1 1")
我面临的问题是,当运行测试用例时,变量三元组 a、b、c 和 d、e、f 具有相同的值 - 1、2、3
我一直在尝试找到一种方法来注入第二组输入来运行我的测试,但没有成功。
非常感谢任何有关上述内容的帮助。
解决方案环境:- Python 3
【问题讨论】:
-
我注意到您接受了我的回答,然后又接受了另一个(这从我的回答中删除了接受,这很好,只是想确保您知道)。您知道每个问题只能接受一个答案吗?
-
哎呀..我很抱歉。实际上,您发布的一个和 wim 发布的一个都有效。我会记住,只能接受一个答案。感谢您指出这一点。
标签: python unit-testing python-3.x lambda patch