Je me demande pourquoi le décorateur mock_s3
ne fonctionne pas lorsqu'il est utilisé comme décorateur pour luminaire pyest. test_with_fixture
échoue alors qu'il fournit le même code que le luminaire test_without
. Eh bien, "la même" qu'elle est décorée explicitement.mock_s3 décoration pytest luminaire
test_with_fixture
soulève AccessDenied
erreur, mais le type d'erreur S3 n'est pas pertinent dans ce cas. Le problème est que, client.list_objects n'est pas raillé dans le test qui utilise fixture.
pytest - 3.1.2
moto - 1.0.1
boto3 - 1.0.4
import pytest
import boto3
from moto import mock_s3
BUCKET = 'Foo'
@pytest.fixture()
@mock_s3
def moto_boto():
res = boto3.resource('s3')
res.create_bucket(Bucket=BUCKET)
def test_with_fixture(moto_boto):
client = boto3.client('s3')
client.list_objects(Bucket=BUCKET)
@mock_s3
def test_without_fixture():
res = boto3.resource('s3')
res.create_bucket(Bucket=BUCKET)
client = boto3.client('s3')
client.list_objects(Bucket=BUCKET)