Я пытаюсь написать тест для функции, которая вызывает функцию в файле .whl
, но я пытаюсь смоделировать функцию в колесе. У меня установлено колесо в моей виртуальной среде - я установил колесо с pip install my_wheel.whl
, находясь в среде. Пакет, который находится в колесе, называется my_package
.
Функция , которую я хочу проверить , выглядит примерно так:
from my_package import wheel_function
def my_func():
x = wheel_function()
return x + 5
Я хочу издеваться wheel_function
так что тест просто смотрит на my_func
.
Мой тестовый скрипт :
import pytest
def mock_wheel_function():
return 5
def test_my_func(mocker):
my_mock = mocker.patch("src.wheels.my_wheel.path.to.wheel_function",
side_effect=mock_wheel_function)
# (Do stuff)
Я получаю следующую ошибку: AttributeError: module 'src.wheels' has no attribute 'my_wheel'
.
Моя структура каталогов это так.
ср c
| колеса
| ........ my_wheel.whl
| модули
| ........ my_module
тесты
| - test_modules
| ........ test_my_module
Если я попытаюсь передать путь к модулю в виртуальной среде (то есть /Users/me/venv/lib/python3.7/site-packages/....
), я получу ModuleNotFoundError: module '/Users/me/venv/lib/python3' not found
.
Есть идеи? Спасибо