我想使用参数来运行Concordion规范。我想做的是使用concordion:run执行规范。一个少研究向我指出了concordion:params属性的存在,但我找不到任何文档或示例。
我不知道这两个命令是如何结合在一起的;params元素应该嵌套在run元素内部还是外部?在concordion:params="?"调用中,在何处指定param值本身-要填写的值是什么?
发布于 2015-09-11 21:32:49
concordion:params是一个与concordion:run属性相同的元素上使用的属性。
例如,在MyIndex.html中:
<a concordion:run="concordion" concordion:params="foo=5" href="MySpec.html">My Spec</a>使用夹具类:
@RunWith(ConcordionRunner.class)
@FullOGNL
public class MyIndex {
public void setFoo(Integer foo) {
System.out.println("foo = " + foo);
}
}请注意,@FullOGNL属性是必需的,以允许表达式中的语法foo=5,否则将不被允许。
注意:提姆·赖特( Tim )对这种方法有一个问题:
我看到的问题是,相同的规范可能由两个不同的规范(或者从一个规范中运行两次)运行,具有不同的参数,也可以从没有参数的jUnit中运行。因为我们只创建一个HTML文件,这种行为可能不是用户所期望的。这也意味着使用concordion:run将创建一个不同于直接作为jUnit测试运行规范的规范--这是我们一直在努力避免的。 当前的行为(使用concordion运行缓存)是第一个被调用的将创建HTML文件,第二个将返回缓存的运行结果,从而忽略参数。
这可能意味着我们反对concordion:params,并在2.0中删除它。
https://stackoverflow.com/questions/32483658
复制相似问题