使用Gauge我们可以在测试规范标题之后立即使用Context Steps在每个场景之前重复一组步骤。例如:
Delete project
==============
* User log in as "mike"
Delete single project
---------------------
* Delete the "example" project
* Ensure "example" project has been deleted
Delete multiple projects
------------------------
* Delete all the projects in the list
* Ensure project list is empty
在上面的删除项目测试规范中,上下文步骤用户登录为" mike" 将执行两次,两次检测方案中的每一种都执行一次。
如何定义在测试规范的所有方案之前运行一次的步骤?
答案 0 :(得分:1)
由于您无法通过spec文件运行一次,因此解决方法可能是使用套件商店。
public void loginAsMike(){
if((boolean) DataStoreFactory.getSuiteDataStore().get('loggedIn')){
//execute steps
DataStoreFactory.getSuiteDataStore().put('loggedIn', true);
}
}
这样它只会运行一次。这里唯一的问题是如果你要并行运行多个测试。但是,如果您只在一个spec文件中以mike身份登录,那么这是一个很好的解决方案。