0

我正在尝试用 模拟一个 s3 实例Moto,这似乎确实有效,但是由于某种原因,它似乎在真正的 s3 中搜索文件而不是模拟的 s3。
我的工作层次结构如下所示:

root
--tests
----mock s3
------__init__.py
------conftest.py
------test mock s3.py

conftest我这样嘲笑s3:

fixture
def mock s3():
  mock = mock_s3()
  mock.start()

  client = boto3.client('s3')
  add buckets and keys to the client

  yield client

  mock.stop()

test mock s3.py看起来像这样:

usefixtures('mock s3')
def test_something():
  path = Path('s3://bucket/key')
  files = all the files from the path
  assert some stuff

当我运行pytest tests/mock s3/test mock s3.py它似乎工作正常。但是,如果我在运行时pytest(例如pytest tests/mock s3)由于某种原因不直接调用文件,它似乎没有使用我的模拟 s3,files从 s3 取回真实文件。
模拟夹具仍然被应用(我知道,因为我添加了打印的打印件)但由于某种原因它无法在模拟中找到文件。

编辑——添加路径和文件到test_something

4

0 回答 0