在我的黄瓜测试中,我想截取我系统边界上的一些调用,然后验证这些调用的参数。Cucumber-guice:场景范围拦截器?
因此,在每个场景中,我执行一些操作,拦截器拦截调用某些外部系统的参数并将它们存储在某个类中,我们将其称为ScenarioContext
。然后这些参数在我的@Then步骤定义中进行验证。
的问题是ScenarioContext
类具有全局@Singleton
范围意味着许多不好的事情,包括无法并行运行,必要情况下每个场景,场景之间无意依赖后手动清理。
黄瓜guice有一个伟大的功能,称为@ScenarioScoped
注释,它允许我有情景范围的类,它的作品就像一个魅力。
我的问题:是否有可能以某种方式使我ScenarioContext
类(使用我的拦截器来存储截获的东西)是“场景范围的”,即,系统将自动每个场景等后清理?
不完全是我的问题的答案。我已经在使用'@ ScenarioScoped'步骤定义,它工作。问题是我不得不使用总是具有单例作用域的拦截器,然后我无法弄清楚如何将单例作用域的拦截器与我想成为场景范围的对象连接起来。 – Alexander