Как передать аргументы программы в Java для моего Fitnesse Fixture? - PullRequest
1 голос
/ 26 января 2012

У меня есть прибор, которому нужно передать некоторые системные аргументы. Как я могу сделать то же самое? то есть Java MyClass -Darg1 = x -Darg2 = y

как передать значения -Darg в мой тест.

@ Дэн. Плохо, что я упомянул аргументы командной строки. Что я действительно собираюсь сделать, это передать системные свойства, как вы указали. У меня есть некоторые настройки, такие как Region (NA / EMEA и т. Д.), Environment (SIT / UAT) и т. Д., В зависимости от которых используются различные URL-адреса и т. Я должен составить тесты в Fitnesse, где я передаю значения для экрана теста из таблицы решений. Но я хочу быть в состоянии диктовать, что эти тесты должны выполняться при такой-то комбинации регион / env. У меня есть тест junit, который запускает воспроизведение Selenium, и я контролирую его вызов из IDE / Maven, передавая -Dregion и т. Д. С Fitnesse я хочу знать, как передать эти системные аргументы, чтобы мой Fixture при вызове имел доступ к этим свойства и запускает воспроизведение Selenium соответственно.

1 Ответ

3 голосов
/ 30 января 2012

Чтобы передать переменные в FitNesse, вы можете установить переменную окружения. Например, запустите FitNesse из командной строки следующим образом:

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

Вы можете использовать переменные окружения в FitNesse, как и другие переменные - «$ {SUT}» в тестовой таблице FitNesse будет заменено на www.google.de в приведенном выше примере.

Затем, чтобы получить значение SUT в тестовом приборе, вы можете добавить статический класс в тестовое устройство следующим образом:

public class Environment {
    public static string SUT;
}

И где-то в вашем коде установки FitNesse установите переменную SUT среды:

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

Environment.SUT доступен для всего кода вашего прибора.


Обновление:

Также см. Комментарий Дэна о том, как использовать системные переменные Java, запустив fitNesse с параметром -D.

...