我目前正在尝试为我的程序制作一个测试用例,但我遇到了困难。顺便说一句,我构建了我的代码,其中有一个函数接受输入,并根据该输入构建一个图形,然后有一个函数计算图形的某些内容。我还需要为我申请的工作提供此类输入。 (我无法使用图形作为输入进行简单的单元测试)。
到目前为止的测试文件如下所示:
import unittest
from main_file import calculate, create_grid
class TestCase1(unittest.TestCase):
def test1(self):
data = create_grid()
self.assertEqual(2, calculate(data))
它现在的工作方式是,我自己使用 create_grid() 输入所需的数据。有没有一种方法可以模拟计算机/程序自行完成(具有特定值,因为这就是我想要的)。非常感谢!
编辑1:
这是函数代码
def create_grid():
rows, cols = [int(x) for x in input("Enter two numbers here: " + "\n").split()]
for _ in range(rows):
row = list(map(str, input().split()))
grid.append(row)
return grid
最佳答案
from unittest.mock import patch
from main_file import calculate, create_grid
class TestCase1(unittest.TestCase):
def test1(self):
with patch('builtins.input', side_effect=[1,2,3]):
data = create_grid()
self.assertEqual(2, calculate(data))
关于python - 我可以在测试用例中为我的函数模拟输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305615/