我想使用参数运行Concordion规范。我想要做的是使用concordion:run
执行规范。 little research指出我存在concordion:params
属性,但我找不到任何文档或示例。
我不确定这两个命令是如何组合在一起的; params
元素应该嵌套在run
元素内还是外部?要填写的值是什么concordion:params="?"
在concordion:set
来电中,我在哪里指定参数值?
答案 0 :(得分:1)
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 Wright对这种方法有pointed out的问题:
我看到的问题是可能从两个运行相同的规范 不同的规格(或从单一规格运行两次) 具有不同的参数以及没有参数的jUnit。如 我们只创建一个HTML文件,行为可能不是用户的行为 预计。它还意味着使用concordion:run将创建一个 将规范直接作为jUnit测试运行的不同规范 - 这是我们努力避免的事情。
当前行为(使用一致性运行缓存)是 第一个被调用将创建HTML文件 - 第二个 将从缓存返回运行结果,从而忽略参数。
这可能意味着我们弃用了concordion:params并在2.0中将其删除。