测试的主要功能:
async def start_script():
script = int(input("ÐведиÑе:\n1 Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка паÑÑеÑа видео\n2 Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка загÑÑзÑика видео: \n"))
if script == 1:
number = int(input("ÐведиÑе колиÑеÑÑво видео Ð´Ð»Ñ Ð¿Ð°ÑÑинга: "))
# await main.info_videos(number=number)
elif script == 2:
number_pc = int(input("ÐведиÑе Ð½Ð¾Ð¼ÐµÑ ÐÐ: "))
count_video = int(input("ÐолиÑеÑÑво повÑоÑнÑÑ
пÑбликаÑий: "))
print("ÐведиÑе диапазон вÑемени Ð´Ð»Ñ Ð¿ÑбликаÑии (в минÑÑаÑ
)")
number1 = int(input("ÐÑ (в минÑÑаÑ
): "))
number2 = int(input("Ðо (в минÑÑаÑ
): "))
await get_video_process(number1, number2, number_pc, count_video)
else:
print("ÐÑибка ввода!")
await start_script()
asyncio.run(start_script())
此代码的Unittest:
import unittest
from unittest.mock import patch
from web import start_script
class TestStartScript(unittest.TestCase):
@patch("builtins.input", side_effect=["1", "5"])
def test_start_script(self, mock_input):
self.assertIsNone(start_script())
if __name__ == "__main__":
unittest.main()
在我运行这个测试之后,它启动了,但等待控制台输入,尽管它应该自动完成。因此,脚本会停在一个地方,只等待输入数据。如何解决这个问题?
Console