Python单元测试模拟错误

learningMyWayThru

我是Python单元测试的新手。我试图为我的班级编写单元测试。但是我遇到了问题:

from <path1> import InnerObj
from <path2> import new_obj
from <path3> import XYZ

class ClassToBeTested(object):

def __init__(self):
    obj = new_obj(param1 = "XYZ", time = 1, innerObj = InnerObj())
    self.attr1 = XYZ(obj)


 def method(self, random, paramStr):

 // Remainder of class

测试类别:

from mock import patch, PropertyMock, MagicMock
from <path1> import InnerObj
from <path2> import new_obj
from <path3> import XYZ


@pytest.fixture()
@patch('<path1>.InnerObj', new=MagicMock())
@patch('<path2>.new_obj', new=MagicMock())
@patch('<path3>.XYZ', new=MagicMock())
def mock_test():
    return ClassToBeTested()

def test_method_true(mock_test):
     random = Random_Object()

     booleanResult = mock_test.method(random, paramStr)
     assert booleanResult == True

我得到的错误是 ERROR at setup of test_method_true ______

错误堆栈中提到innerObj / init .py:26:init中qwerty_main = qwerty_assistant.get_root()

我可能会相信,对InnerObj的模拟未正确完成,因为它不应在模拟对象的init方法中调用代码。

我在这里做错什么了吗?有人可以帮忙指出正确的方向吗?

谢谢

dm03514

patch 应该以正在使用的导入为目标,而不是导入路径。

例如

@patch('<path1>.InnerObj', new=MagicMock())

<path1>是定义的位置,InnerObj而不是使用它的文件。为了解决这个问题,InnerObj应该导入的模块中修补导入InnerObj

假装的路径ClassToBeTestedpath.to.class.to.be.tested

该补丁将是:

@patch('path.to.class.to.be.tested.InnerObj', new=MagicMock())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python单元测试模拟错误

来自分类Dev

单元测试中的部分模拟/错误

来自分类Dev

模拟python单元测试中的问题

来自分类Dev

Python 单元测试:模拟补丁

来自分类Dev

如何在python单元测试中模拟连接错误并请求超时

来自分类Dev

Android Studio上的单元测试:“未模拟”错误

来自分类Dev

在golang单元测试中模拟特定的错误类型

来自分类Dev

Django单元测试模拟

来自分类Dev

Python单元测试断言错误

来自分类Dev

在python单元测试中模拟类和类方法

来自分类Dev

如何在Python单元测试中模拟类?

来自分类Dev

如何为python单元测试提供模拟类方法?

来自分类Dev

python模拟单元测试中的原始输入

来自分类Dev

在python单元测试中模拟类属性的更好方法

来自分类Dev

模拟开放用于python中的单元测试

来自分类Dev

如何在Python中模拟此单元测试?

来自分类Dev

模拟ftplib.FTP用于单元测试Python代码

来自分类Dev

python中的模拟流API用于单元测试

来自分类Dev

模拟开放用于python中的单元测试

来自分类Dev

单元测试时,Python类方法未正确模拟

来自分类Dev

使用模拟和修补外部模块的Python单元测试

来自分类Dev

模拟 TCP 套接字以进行单元测试的 Python 方法

来自分类Dev

单元测试-$ state.includes错误阻止了其他测试/如何模拟状态

来自分类Dev

错误单元测试ModelForm

来自分类Dev

在单元测试中模拟/存根RuntimeException

来自分类Dev

努力进行单元测试和模拟

来自分类Dev

在单元测试中模拟Spark RDD

来自分类常见问题

在AngularJS单元测试中模拟$ modal

来自分类Dev

在单元测试中模拟$ mdSideNav