![]() |
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 |
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |