我目前正在尝试为我的程序制作一个测试用例,但是我遇到了困难。顺便说一下,我的代码结构化了,有一个函数接受输入,然后根据该输入建立一个图形,然后有一个函数计算图形。我还需要为我要申请的工作提供此类输入。 (我无法使用图作为输入来进行简单的单元测试。
到目前为止的测试文件如下:
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()输入所需的数据。有没有办法我可以模仿计算机/程序来完成它(具有特定的值,因为这正是我想要的)。非常感谢你!
EDIT1:
这是功能代码
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
答案 0 :(得分:1)
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))