确保在黄瓜步骤定义中关闭了自动关闭功能

问题描述

我的Cucumber Java步骤定义可以创建AutoCloseable对象,该对象可以获取外部(也许是稀缺的)资源。不再需要这些对象时,应调用它们的close()方法,以释放这些资源。如何确保调用close()方法

在非黄瓜测试中,我将使用try-with-resources。但这是不可能的,因为没有跨场景执行的单一方法AutoCloseable对象可能在 when 方法中创建,并在以后的 then中使用)。

解决方法

一个选择是使用带有io.cucumber.java.After注释的方法来调用close()方法。不好我们必须依靠Cucmber而不是Java Itelf来做正确的事情。