我有这样的目录结构:
Business_Logic
excel_format_error_checks.py
tests
test_excel_format_error_checks.py
在我的 test_excel_format_error_checks.py 中,我收到错误
TypeError: Need a valid target to patch. You supplied: <module 'openpyxl' from 'C:\\Users\\brady\\Desktop\\excel_formatting\\excel_format_website\\venv\\lib\\site-packages\\openpyxl\\__init__.py'>
excel_format_error_checks.py
import openpyxl
...
test_excel_format_error_checks.py
import sys
sys.path.append('..')
from Business_Logic import excel_format_error_checks
class TestExcelFormatErrorChecks(TestCase):
@patch(excel_format_error_checks.openpyxl):
...
我查看了文档,其中讨论了在何处修补,它说要在查找模块的位置修补。根据我的理解,我正在 excel_format_error_checks.py 中查找 openpyxl,所以这就是应该修补的地方。
谢谢
老问题,我知道。但您的问题可能是您没有提供尝试修补的功能的完整路径。应该是
@patch(Business_Logic.excel_format_error_checks.openpyxl)
(不含冒号)。
行
from Business_Logic import excel_format_error_checks
与 @patch
无关。