微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

测试是否将当前模块外部的变量写入

如何解决测试是否将当前模块外部的变量写入

我正在尝试为可写入专用global_variables模块中的变量的函数编写pytest套件,但我不知道如何检查变量是否已写入那里。我曾尝试使用pytest-mock的mocker.patch模拟变量,但模拟程序似乎只允许您从模拟变量中读取数据,而不是写入变量。

正在测试的代码

import global_variables as gv

def main(filename):
    gv.name = filename
    do_other_stuff()

我的单元测试:

import pytest

def test_main_writes_to_gv():
    # arrange
    output = mocker.patch(gv.name)
    # act
    app.main('foo')
    # assert
    assert output == 'foo'

我想添加某种侦听器,以查看是否正在写入gv.name,类似于模拟程序的.assert_Called_with()方法的工作方式,但是我正在寻找类似.assert_writing_to的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。