【发布时间】:2019-07-24 05:16:09
【问题描述】:
我在 rspec 中有一个 context 块,里面有多个 it 块。我想运行一个 before 块来设置 it 块的数据,但是这个数据需要很长时间才能设置并且被用于只读。 rspec before(:each) 在每个 it 阻塞后创建和删除此数据,这需要很长时间。 before(:all) 在所有测试开始时创建数据并且不会删除它。
有什么方法可以在 context 块内创建这些数据并在之后删除?
【问题讨论】:
-
您是否尝试过在完成后使用
after(:all)块来清理数据?听起来你有一个before(:all)在它设置的地方工作,你只需要拆掉它。这是下面第一个答案中提到的,但使用不同的别名(:context而不是:all)