У нас есть тестовое приспособление, которое исправляет два класса, как показано ниже.
@pytest.fixture
def license_fixture(mocker):
mocker.patch('api.license_api.UserLicense')
mocker.patch('api.license_api.UserLicense.userrole', return_value = 'admin') # doesn't work.
l_mock = mocker.patch('api.license_api.LicenseContent')
yield l_mock
LicenseContent обслуживает вызовы API для содержимого лицензии и использует UserLicense.
UserLicense — это сторонняя импортированная проверка класса для лицензии, которая есть у пользователя (с использованием криптографии), и служит трем целям.
- Все методы шифрования для проверки лицензии.
- если у пользователя есть действующая лицензия через метод isvalid()
- установить правильную авторизацию пользователя через метод userrole()
С исправлением UserLicense я могу проверить правильность, но когда я пытаюсь исправить метод, чтобы получить роль пользователя, он не устанавливает возвращаемое значение метода для администратора, и тесты завершаются неудачно.
Как правильно пропатчить метод?
mocker.patch('api.license_api.UserLicense')
? Он ничего не делает, кроме как вызывает ошибку. - person Amir Afianian   schedule 28.10.2020