2012-10-17 103 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} –