当使用py.test
运行测试时,我使用joblib.Memory
缓存昂贵的计算。我正在使用的代码减少到以下内容
from joblib import Memory
memory = Memory(cachedir='/tmp/')
@memory.cache
def expensive_function(x):
return x**2 # some computationally expensive operation here
def test_other_function():
input_ds = expensive_function(x=10)
## run some tests with input_ds
效果很好。我知道使用^{
我的问题是如何在所有测试运行后清理缓存文件
我不会走那条路。全局可变状态是最好避免的,特别是在测试中。
是,将自动使用的会话范围的fixture添加到项目级文件中
conftest.py
:屈服之后的代码将在测试套件的末尾运行一次,无论通过与否。
其实有几种方法可以做到这一点,每种方法都有利弊。我认为这个答案很好地概括了它们-https://stackoverflow.com/a/22793013/3023841-但是例如:
是的,py.test有teardown函数可用:
相关问题 更多 >
编程相关推荐