小编Tom*_*ner的帖子

python AttributeError assert_called

我有一个非常简单的测试:

from unittest.mock import Mock
from urbansearch import main

main.ArgumentParser = Mock()

def test_parse_arguments():
    main.parse_arguments()
    main.ArgumentParser.add_argument.assert_called()
Run Code Online (Sandbox Code Playgroud)

它测试以下方法:

from argparse import ArgumentParser

def parse_arguments():
    parser = ArgumentParser(description='The TU Delft Urbansearch CLI')

    parser.add_argument('-d', '--directory',
                    help='Source files directory containing files with '
                          + 'indices')
    return parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

测试时我收到错误:AttributeError:assert_called.为什么我会收到此错误,如何解决此问题?我也尝试了很多不同的变化,但我总是得到或多或少相同的结果.

编辑:测试位于Urbansearch/tests/test_main.py中.该方法位于Urbansearch/urbansearch/main.py.

我得到的确切输出如下;

============================= test session starts =============================
platform win32 -- Python 3.5.3, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
rootdir: C:\Users\tom_b\OneDrive\Dokumente\GitHub\UrbanSearch, inifile:
plugins: cov-2.3.1
collected 4 items

test_main.py FFFF

================================== FAILURES ===================================
___________________________ test_selection_workers ____________________________

    def test_selection_workers(): …
Run Code Online (Sandbox Code Playgroud)

python assert mocking attributeerror

7
推荐指数
1
解决办法
2515
查看次数

标签 统计

assert ×1

attributeerror ×1

mocking ×1

python ×1