代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/python-pytest-mock 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 91ece5ec239e7bf68e928e0377c5335ca5fc214a Mon Sep 17 00:00:00 2001
From: Daniel Hahler <[email protected]>
Date: Sat, 30 Mar 2019 10:58:12 +0100
Subject: [PATCH] tests: handle new output format with Python 3.8
Fixes https://github.com/pytest-dev/pytest-mock/issues/139.
---
test_pytest_mock.py | 43 +++++++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/test_pytest_mock.py b/test_pytest_mock.py
index 1cb3889..2413593 100644
--- a/test_pytest_mock.py
+++ b/test_pytest_mock.py
@@ -12,6 +12,9 @@ pytest_plugins = 'pytester'
skip_pypy = pytest.mark.skipif(platform.python_implementation() == 'PyPy',
reason='could not make work on pypy')
+# Python 3.8 changed the output formatting (bpo-35500).
+PY38 = sys.version_info >= (3, 8)
+
@pytest.fixture
def needs_assert_rewrite(pytestconfig):
@@ -179,7 +182,11 @@ class TestMockerStub:
def __test_failure_message(self, mocker, **kwargs):
expected_name = kwargs.get('name') or 'mock'
- expected_message = 'Expected call: {0}()\nNot called'.format(expected_name)
+ if PY38:
+ msg = "expected call not found.\nExpected: {0}()\nActual: not called."
+ else:
+ msg = "Expected call: {0}()\nNot called"
+ expected_message = msg.format(expected_name)
stub = mocker.stub(**kwargs)
with pytest.raises(AssertionError) as exc_info:
stub.assert_called_with()
@@ -559,11 +566,20 @@ def test_detailed_introspection(testdir):
m.assert_called_once_with('', bar=4)
""")
result = testdir.runpytest('-s')
- result.stdout.fnmatch_lines([
- "*AssertionError: Expected call: mock('', bar=4)*",
- "*Actual call: mock('fo')*",
+ if PY38:
+ expected_lines = [
+ "*AssertionError: expected call not found.",
+ "*Expected: mock('', bar=4)",
+ "*Actual: mock('fo')",
+ ]
+ else:
+ expected_lines = [
+ "*AssertionError: Expected call: mock('', bar=4)*",
+ "*Actual call: mock('fo')*",
+ ]
+ expected_lines += [
"*pytest introspection follows:*",
- '*Args:',
+ "*Args:",
"*assert ('fo',) == ('',)",
"*At index 0 diff: 'fo' != ''*",
"*Use -v to get the full diff*",
@@ -572,7 +588,8 @@ def test_detailed_introspection(testdir):
"*Right contains more items:*",
"*{'bar': 4}*",
"*Use -v to get the full diff*",
- ])
+ ]
+ result.stdout.fnmatch_lines(expected_lines)
def test_assert_called_with_unicode_arguments(mocker):
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。