【发布时间】:2016-04-08 12:10:00
【问题描述】:
我有一些用于单元测试的代码。但是,它加载的库需要一些鼻子测试实际上不需要的数据,因为这些数据是由单元测试模拟出来的。我想保护库中的文件读取,以便在鼻子测试的情况下不会调用它们。
有没有简单的方法可以做到这一点?
我可能可以使用 sys.modules 或初始命令行来做一些事情,但我更喜欢更优雅的东西,如果它存在的话。
【问题讨论】:
-
什么是鼻子测试?
-
这是一个特定的单元测试框架。
-
如何检查某个文件是否存在,如果不存在,则将代码标记为“nose-test”并阻止加载此类文件。
-
我不明白 - 如果它被模拟了,为什么读取仍然发生?你能提供一个minimal reproducible example吗?
-
@BrianPostow:你不应该因为你的测试而修改你的代码。如果您觉得必须这样做,则可能表明您的设计很糟糕。