我是python的新手,並且一直在使用python 3進行學習。我正在使用python的單元測試框架來測試我的代碼。模擬標準輸入 - python中的多行3
問題: -
,我需要進行單元測試該函數採用輸入以下列方式: -
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
我注意到你接受了我的答案,然後接受了另一個(其中刪除接受我的回答,這很好,只是想確保你知道)。你是否知道每個問題只能接受一個答案? – idjaw
哎呀..我很抱歉。實際上你發佈的和wim發佈的那兩個都有效。我會記住只有一個答案可以被接受。感謝您指出了這一點。 – Shiven