问题描述
我正在尝试为可写入专用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 (将#修改为@)