2012-10-17 63 views
3

我一直试图通过fitnesse套件设置页面为数据库连接参数设置环境变量属性。 我已经通过在单独的测试页面上设置环境变量来测试它,当我这样做时,它在我的fixture API中得到了解决。但是当我将它从测试页面中删除并将其包含在fitnesse设置页面中时,出于某种原因无法在我的fixture API中解析它。 这是我已经包括添加的环境属性COMMAND_PATTERN字符串: 定义COMMAND_PATTERN {java命令%P -Ddbadapter.config =类路径:/properties/fiAdapter-config.properties%M}无法在fitnesse设置页面中设置环境属性

所以这很字符串在测试页面上定义时正确解析,但是我将它移出到安装测试页面(我知道它正在成功将其他页面级别参数传递给测试),但在我的fixture API中无法解析。

我也曾尝试在FitNesse的服务器启动指定这个属性: Java的罐子-Dadapter.config =类路径:/properties/fiAdapter-config.properties fitnesse.jar -p 6538

和这并未我也不为我工作。我可以得到这个工作的唯一方法是通过在每个测试页面上指定参数,并且这正在破坏为此使用属性文件的目的。

任何想法是什么造成这将不胜感激!

回答

1

变量是通过查看直接血统来设置的,而不是通过兄弟姐妹甚至设置页面来设置。我通常在运行FitNesse之前在环境中定义它们,或者通过FrontPage或包含需要它的测试的套件页面定义它们。

据我所知,SetUp作为页面的一部分进行处理。我可以明白为什么你选择了这个,但我不认为它是一个将变量定义为直接祖先页面的可靠位置。

此外,如果您正在使用COMMAND_PATTERN变量,我很确定您必须在更改COMMAND_PATTERN之前定义要发送给它的变量。并且在单个套件执行中,命令模式不能多次更改。

+0

感谢您的回复,这解释了为什么我的测试设置页面不是定义此环境属性的正确位置。您能否给我举一个例子,说明如何通过fitnesse首页或环境定义这个变量。我试图在启动fitnesse服务器时在命令行上设置它,但它仍然没有得到解决。关于fitnesse首页,你会在这个首页上创建一个页面来定义属性? – user1753862

+0

我会将变量定义添加到FrontPage itsefl的内容(假设您的测试页在FrontPage下面)。 !define DEBCONECT {设置} 然后通过引用,稍后使用$ {DBCONNECT} –