我如何在java中为我的Fitnesse Fixture传递程序参数?

我有一个需要将一些System参数传递给它的fixture。我怎么能这样做。 即java MyClass -Darg1 = x -Darg2 = y

我如何将-Darg值传递给我的测试。

@担。 我的错误,我提到了命令行参数。我真正打算做的是按照你的指示传递系统属性。我有一些设置,如Region(NA / EMEA等),Environment(SIT / UAT)等基于各种url等我必须在Fitnesse中进行测试,在那里我从决策表中传递测试屏幕的值。但是我想能够决定这些测试应该在某种区域/ env组合上运行。我有一个junit Test触发Selenium播放,我通过传递-Dregion等来控制它从IDE / Maven的调用。我和Fitnesse想知道如何传递这些System参数,以便我的Fixture在被调用时可以访问这些属性,它会相应地触发Selenium的播放。

要将变量传递给FitNesse,您可以设置环境变量。 例如,从命令行启动FitNesse,如下所示:

set SUT=www.google.de java -jar fitnesse.jar -p 8080 

你可以在FitNesse中使用环境变量和其他变量一样 – 在上面的例子中,FitNesse测试表中的’$ {SUT}’将替换为www.google.de。

然后,为了将SUT的值放入测试夹具中,您可以在测试夹具中添加一个静态类,如下所示:

 public class Environment { public static string SUT; } 

在FitNesse安装代码中的某处设置环境SUT变量:

 !|script|Environment| |SUT|${SUT}| 

然后,您可以在整个Fixture代码中使用Environment.SUT。


更新:

另请参阅Dan关于如何使用-D参数启动fitNesse来使用Java System变量的注释。