在我的套件中,我有一个之后钩子,该钩子在完成方案后会从临时目录中删除文件。但是,有时候在某些情况下,我不想从temp目录中删除文件,而我希望通过为该情况提供一个名为@no_cleanup
的标签来实现此目的。
现在,我当前的之后钩子如下所示:
After do
FileUtils.rm_f(Dir.glob(File.join @local_dir,'*'))
end
我想做的事情是,“如果该方案上标有@no_cleanup,请跳过此钩子”。
这可能吗?
在我的套件中,我有一个之后钩子,该钩子在完成方案后会从临时目录中删除文件。但是,有时候在某些情况下,我不想从temp目录中删除文件,而我希望通过为该情况提供一个名为@no_cleanup
的标签来实现此目的。
现在,我当前的之后钩子如下所示:
After do
FileUtils.rm_f(Dir.glob(File.join @local_dir,'*'))
end
我想做的事情是,“如果该方案上标有@no_cleanup,请跳过此钩子”。
这可能吗?
如Cucumber documentation中所述(请不要忘记在页面顶部选择红宝石):
可以根据场景的标签有条件地选择要执行的挂钩。要仅在某些情况下运行特定的挂钩,可以将Before
,After
,Around
或AfterStep
挂钩与tag expression关联。
Before('@browser and not @headless') do
end
有关tags的更多文档。
所以,在您的情况下,我认为应该是:
After('not @no_cleanup') do
FileUtils.rm_f(Dir.glob(File.join @local_dir,'*'))
end
我希望它会有所帮助。