Python Pytest模拟eval导入的函数
不确定这是否可行,但有没有办法模拟eval导入的函数 例如: a、 派克 b、 派克 测试a.pyPython Pytest模拟eval导入的函数,python,mocking,pytest,monkeypatching,Python,Mocking,Pytest,Monkeypatching,不确定这是否可行,但有没有办法模拟eval导入的函数 例如: a、 派克 b、 派克 测试a.py import a import pytest from unittest.mock import patch def test_code(): #with patch('patch mockME somehow?', return_value='mocked code') as mock_mockME: assert_me = a.code() assert as
import a
import pytest
from unittest.mock import patch
def test_code():
#with patch('patch mockME somehow?', return_value='mocked code') as mock_mockME:
assert_me = a.code()
assert assert_me == 'mocked code'
使用
monkeypatch
夹具:
# test_a.py
def test_code(monkeypatch):
monkeypatch.setattr('b.mockME', lambda: 'mocked code')
assert_me = a.code()
assert assert_me == 'mocked code'
谢谢你,维姆!正是我要找的!我不知道有这样的事情存在。该去研究了。
import a
import pytest
from unittest.mock import patch
def test_code():
#with patch('patch mockME somehow?', return_value='mocked code') as mock_mockME:
assert_me = a.code()
assert assert_me == 'mocked code'
# test_a.py
def test_code(monkeypatch):
monkeypatch.setattr('b.mockME', lambda: 'mocked code')
assert_me = a.code()
assert assert_me == 'mocked code'