python中unittest中url的模拟

python中unittest中url的模拟,python,python-unittest,Python,Python Unittest,我对这个很陌生 我已经编写了下面的测试代码 def测试每月计划(self): 将补丁('employee.requests.get')作为mock\u-get: mocked_get.return_value.ok=True mocked\u get.return\u value.text=“成功” 计划=self.e1.月度计划() mocked_get.assert_调用_with(“http://www.google.com") self.assertEqual(进度表,“成功”) 这是

我对这个很陌生 我已经编写了下面的测试代码

def测试每月计划(self):
将补丁('employee.requests.get')作为mock\u-get:
mocked_get.return_value.ok=True
mocked\u get.return\u value.text=“成功”
计划=self.e1.月度计划()
mocked_get.assert_调用_with(“http://www.google.com")
self.assertEqual(进度表,“成功”)
这是给你的

def月度计划(self):
响应=请求。获取(f)http://www.google.com")
如果response.ok:
返回response.text
其他:
返回“错误响应”
获取错误

raise-AssertionError('预期调用:%s\n未调用“%”(预期,))
AssertionError:预期调用:get('http://www.google.com')
不打电话

请注意代码缩进。用作上下文管理器应该可以

例如

employee.py

导入请求
类Employee():
def月度计划(自我):
响应=请求。获取(“http://www.google.com")
如果response.ok:
返回response.text
其他:
返回“错误响应”
test\u employee.py

导入单元测试
从员工导入员工
从unittest.mock导入修补程序
类TestEmployee(unittest.TestCase):
def设置(自):
self.e1=员工()
def测试每月计划(自我):
将补丁('employee.requests.get')作为mock\u-get:
mocked_get.return_value.ok=True
模拟\u get.return\u value.text=“成功”
计划=self.e1.月度计划()
mocked_get.assert_调用_with(“http://www.google.com")
self.assertEqual(进度表,“成功”)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
unittest.main()
单元测试结果和覆盖率报告:

。
----------------------------------------------------------------------
在0.001s内运行1次测试
好啊
姓名Stmts未找到封面
---------------------------------------------------------------------------
src/stackoverflow/60680124/employee.py 7 1 86%10
src/stackoverflow/60680124/test_employee.py 15 0 100%
---------------------------------------------------------------------------
总数22195%

Python版本:
Python3.7.5

为什么要嘲笑它?employee.requests.get