python - 如何模拟在 python 文件的全局范围内初始化的对象?
问题描述
我有以下作为我要测试的python文件的内容
#service_lambdas\series_service.py
from common.connection import DBUtils
dbutils = DBUtils()
def get_series():
return dbutils.get_all(SERIES_SQL)
我想测试 get_series,我尝试使用以下代码段
from unittest import TestCase, main
from unittest.mock import Mock
from service_lambdas.series_service import get_series, SERIES_SQL
class TestSeriesService(TestCase):
@patch("service_lambdas.series_service.DBUtils")
def test_should_getSeries(self, DBUtils_mock):
# given
dbutils_mock = DBUtils_mock.return_value = Mock()
# when
get_series()
# then
dbutils_mock.get_all.assert_called_once_with(SERIES_SQL)
我只想让 DBUtils 类被嘲笑。
解决方案
推荐阅读
- ios - 将 react 本机 android 应用程序迁移到 iOS 所需的确切步骤
- javascript - 如何使用 AppScript 调整 Gmail 内嵌图片的大小?
- ejb - Liberty:jms 查找
- c++ - 如何在源文件中专门化模板函数?
- javascript - 使用 Vue 和 Webpack 动态加载图像的问题
- graphics - PBR - 不正确的直接照明
- apache - NutchTutorial 中的 nutch 1.16 抓取示例在 org.apache.commons.cli.OptionBuilder (Windows 10) 上返回 NoSuchMethodError
- python - Python点击命令退出流程
- micronaut - Micronaut 与 Oracle 和 jpa
- javascript - Javascript获取数组字段标题名称的名称