【问题标题】:Optimal way of including test file dependencies in a Python package在 Python 包中包含测试文件依赖项的最佳方式
【发布时间】:2014-02-09 15:59:21
【问题描述】:

我有一个具有以下结构的 Django 应用程序:

app/
    tests/
        files/
            image.jpg
        ...
    setup.py
    MANIFEST.in
    ...

如果我创建一个包,默认情况下不会包含image.jpg,因为它不是 Python 文件。然后我在MANIFEST.in 中添加了这个文件,它确实包含在包中,但由于它是一个测试文件,我的想法是它不应该包含在MANIFEST.in 文件的包中。

话虽如此,在 Python 包中包含与测试相关的非 Python 文件(例如:图像)的最佳方式是什么?

【问题讨论】:

  • package_data 文件被添加到MANIFEST.in 所以或多或少与我上面介绍的方法相同。
  • 首先是否有什么东西会迫使您在测试中使用图像文件?我通常要么模拟图像文件,要么在内存中创建一个随机图像。
  • 嗯,实际上并非如此,但简单地拥有一个现有图像并使用它会更简单。

标签: python django package


【解决方案1】:

如果它是 Django 可重用应用程序的一部分 - 您是否希望用户运行 manage.py test yourapp 并通过测试?

如果是这样,您可能希望分发测试图像。如果没有,您可能根本不想分发它,因此您可以将其从 MANIFEST.in 中删除。

【讨论】:

  • 就是这样。测试取决于该图像。认为测试相关的东西应该以其他方式包含在包中。
  • 为什么会有不同的分布?你总是希望它被分发(以便测试通过),所以不需要其他任何东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-03
  • 2011-08-04
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多