![]() |
1
1
“我们想用LibT测试LibA,但由于LibT依赖于LibA,所以我们希望它在测试LibT时使用稳定版本的LibA。” 用t+A来测试A是没有意义的。有意义的是下面这些。 LibA实际上是两个混合在一起的东西:A1和A2。 T取决于A1。
如果您将LibA分解成T需要的部分和其他部分,那么您就可以打破这种循环依赖。 |
![]() |
2
1
如果您使用依赖于libA(稳定的)的libT“测试”libA dev,那么您实际上并没有像在生产环境中那样测试libA dev。真正测试libA dev的唯一方法是全力以赴,使libT依赖于libA-dev。如果这破坏了您的单元测试,那么这是一件好事——它向您展示了需要修复的地方。 如果没有单元测试,那么现在就开始进行测试(首先使用稳定的libA和libT!). 我建议使用“版本控制系统”(例如bzr、hg、svn、git)。然后你可以把你的项目分为“稳定”和“德瓦”。
通过确保PYTHONPATH环境变量排除其他分支,可以确保Python只使用所需的模块。
版本控制也让你更加大胆——尝试重大的改变并没有那么可怕。如果事情没有解决,恢复是非常容易的。在这和PYTHONPATH技巧之间,您总是能够返回到已知的工作代码。
指挥部
要还原重命名,请运行
将更改LibA dev中的每个*.py文件,更改“moduleA”->“moduleA_dev”。
要恢复此更改(以上述警告为准),
更改代码中对moduleA_dev-->moduleA的所有引用。 |
![]() |
3
0
我不确定您需要如何设置测试,但是您可以使用 VirtualEnv |
|
recursivePython · C#发布中不包含依赖项 7 年前 |
![]() |
ChumboChappati · UML:组合或依赖 7 年前 |
![]() |
PCL · 使用Nexus工件库的多项目gradle构建 7 年前 |
![]() |
novafluff · 依赖于打包为war的模块,需要类 7 年前 |