请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

你好,老师。控制台有很多错误弹出,是我的python版本不对还是什么原因

还有以下代码有点疑惑:
success_test = mock.Mock(return_value=data) #这是使用Mock方法后返回的东西赋值给success_test
post_request = success_test #这里是用来替换掉post_request方法的意思么?
res = post_request
self.assertEqual(“11222”,res()) #res()的意思是不是因为post_request()是一个方法, 所以res得加个()说明是一个方法而不是一个变量?

**

代码

**

coding=utf-8

import unittest
import mock
import requests

url = "http://www.imooc.com/login"
data = {
“username”: “111111”,
“password”: “11112”
}

def post_request(url, data):
res = requests.post(url, param=data).json()
return res

class TestLogin(unittest.TestCase):
def setUp(self):
print(‘Test started…’)

def tearDown(self):
print(‘Test ended…’)

def test_01(self):
url = 'http://www.imooc.com/login/register
data = {
‘username’: ‘111111’
}
success_test = mock.Mock(return_value=data)
post_request = success_test
res = post_request
self.assertEqual(“11222”,res())

if name == ‘main’:
unittest.main()

**

控制台输出的信息:

**
Testing started at 20:56 …
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe “C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pycharm_jb_unittest_runner.py” --path C:/Users/Administrator/PycharmProjects/Android/test_mock.py
Launching unittests with arguments python -m unittest C:/Users/Administrator/PycharmProjects/Android/test_mock.py in C:\Users\Administrator\PycharmProjects\Android
Test started…
Test ended…

{‘username’: ‘111111’} != 1111

Expected :1111
Actual :{‘username’: ‘111111’}

Traceback (most recent call last):
File “C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pycharm\teamcity\diff_tools.py”, line 32, in _patched_equals
old(self, first, second, msg)
File “C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\unittest\case.py”, line 829, in assertEqual
assertion_func(first, second, msg=msg)
File “C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\unittest\case.py”, line 822, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: ‘1111’ != {‘username’: ‘111111’}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\unittest\case.py”, line 59, in testPartExecutor
yield
File “C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\unittest\case.py”, line 605, in run
testMethod()
File “C:\Users\Administrator\PycharmProjects\Android\test_mock.py”, line 31, in test_01
self.assertEqual(‘1111’, res())

Ran 1 test in 0.016s

FAILED (failures=1)

Process finished with exit code 1

正在回答 回答被采纳积分+3

1回答

Mushishi 2019-11-21 22:06:00

对的,就是模拟的底层方法
AssertionError: ‘1111’ != {‘username’: ‘111111’} 这个告诉你的是你断言错误,所以抛出异常代码了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号