如果我只在测试套件运行期间使用库,那么它应该在我的Pipfile中的普通包还是开发包中? 我们使用内置的unittest(或Django的包装器)来测试Python项目 在其中一些测试中,我们使用lib,比如freezegun或mock,它们在生产代码库中的任何地方都没有使用 我们运行测试的CI在测试运行之前安装所有DEP,所以通常我们会将它们放在dev DEP中 将这些包放在PIP文件的dev packages部分是很常见的,还是测试相关的包也应该放在packages中?

如果我只在测试套件运行期间使用库,那么它应该在我的Pipfile中的普通包还是开发包中? 我们使用内置的unittest(或Django的包装器)来测试Python项目 在其中一些测试中,我们使用lib,比如freezegun或mock,它们在生产代码库中的任何地方都没有使用 我们运行测试的CI在测试运行之前安装所有DEP,所以通常我们会将它们放在dev DEP中 将这些包放在PIP文件的dev packages部分是很常见的,还是测试相关的包也应该放在packages中?,python,unit-testing,testing,pipenv,pipfile,Python,Unit Testing,Testing,Pipenv,Pipfile,关于mock的一个小说明,因为Python v3.3是unittest模块的一部分 理论上,最好将这些包保存在开发依赖项中。 实际上,你可以忽略这个问题,除非你 你有大量的依赖关系 某些依赖项很难安装(可能需要安装C编译器或类似的东西) 我从未想过这一点。我还认为,任何人都很难说出这种做法有多普遍。我没有看到同事这样做,我自己也没有这样做。但这只是一个个人轶事。我总是使用requirements.txt或anaconda开箱即用,所以所有内容都是在同一个站点包中混合在一起的。这个策略还没有遇到

关于
mock
的一个小说明,因为Python v3.3是
unittest
模块的一部分

理论上,最好将这些包保存在开发依赖项中。 实际上,你可以忽略这个问题,除非你

  • 你有大量的依赖关系
  • 某些依赖项很难安装(可能需要安装C编译器或类似的东西)

我从未想过这一点。我还认为,任何人都很难说出这种做法有多普遍。我没有看到同事这样做,我自己也没有这样做。但这只是一个个人轶事。我总是使用requirements.txt或anaconda开箱即用,所以所有内容都是在同一个站点包中混合在一起的。这个策略还没有遇到任何问题。你有充分的理由担心它(比如数百个只测试的依赖项)吗?我已经对此有了一些看法,但我认为这可能是一个有用的公开问题,因为我还没有看到它。说清楚,我认为与测试相关的DEP将进入
开发包
,至少和我遇到的一样多,也和我的工作带给我的一样多(强烈的观点松散地持有)。显然,这只适用于有区别的Pipenv的使用。很明显,我对其他人的反馈很感兴趣,他们是如何做到这一点的。