Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Monkeypatching输入在测试期间导致属性错误_Python_Python 3.x_Pytest - Fatal编程技术网

Python Monkeypatching输入在测试期间导致属性错误

Python Monkeypatching输入在测试期间导致属性错误,python,python-3.x,pytest,Python,Python 3.x,Pytest,我试图在pytest中monkeypatch输入函数来模拟用户输入,但是我得到了一个属性错误 我在使用mock.patch.object时也会收到相同的错误。但是当我在一个常规的Python环境中时,我能够很容易地修补输入,我只在测试中遇到这个错误 是什么导致了这个问题 编辑 使用unittest.mock添加尝试相同内容的附加屏幕截图 \uuuuuuuuuuuuuuuu是一个实现细节。你不应该碰它。您要查找的是\uuuuu内置的(nos)或内置的,具体取决于您是使用Python 2还是Pyth

我试图在pytest中monkeypatch输入函数来模拟用户输入,但是我得到了一个属性错误

我在使用mock.patch.object时也会收到相同的错误。但是当我在一个常规的Python环境中时,我能够很容易地修补输入,我只在测试中遇到这个错误

是什么导致了这个问题

编辑 使用unittest.mock添加尝试相同内容的附加屏幕截图
\uuuuuuuuuuuuuuuu
是一个实现细节。你不应该碰它。您要查找的是
\uuuuu内置的
(no
s
)或
内置的
,具体取决于您是使用Python 2还是Python 3


根据错误的详细信息判断,您使用的是Python3,因此您希望
内置

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>是一个实现细节。你不应该碰它。您要查找的是
\uuuuu内置的
(no
s
)或
内置的
,具体取决于您是使用Python 2还是Python 3


从错误的细节判断,您使用的是Python3,因此您需要
内置文件

我使用的是Python3,但我需要将input()函数替换为返回假输入的函数。试图在不使用decorator或模拟模块@canyon289的情况下实现这一点,我感到困惑。您使用decorator和mock提供了一个包含两个答案的链接。如果您正在寻找返回假输入的输入,那么您就是在模仿输入的功能。所以,我不确定你到底想做什么。我程序的一部分接受用户输入并返回一个值。我尝试使用pytest进行测试,测试的一部分是让输入函数返回一个值。为了使测试自动化,我尝试使用一个在测试中返回字符串集的函数来monkeypatch/mock常规输入函数。无论是使用mock模块还是pytest monkeypatch函数,我都会遇到同样的错误。我使用的是Python3,但我需要将input()函数替换为返回假输入的函数。试图在不使用decorator或模拟模块@canyon289的情况下实现这一点,我感到困惑。您使用decorator和mock提供了一个包含两个答案的链接。如果您正在寻找返回假输入的输入,那么您就是在模仿输入的功能。所以,我不确定你到底想做什么。我程序的一部分接受用户输入并返回一个值。我尝试使用pytest进行测试,测试的一部分是让输入函数返回一个值。为了使测试自动化,我尝试使用一个在测试中返回字符串集的函数来monkeypatch/mock常规输入函数。无论我使用模拟模块还是pytest monkeypatch函数,我都会遇到同样的错误。请不要发布屏幕截图,而是发布实际代码。请不要发布屏幕截图,而是发布实际代码。