Как установить переменные Fitnesse в строке запроса

В настоящее время я настраиваю Fitnesse с FitSharp и реализацией.net dbfit.

Я понимаю, как запускать тесты или наборы из представления URL-адреса или из командной строки, например:

java -jar fitnesse-standalone.jar -c "MyTest?test&format=text"

Что я не могу понять, так это как передать значения переменных в этой строке запроса.

Итак, если у меня есть тест, содержащий оператор Sql, в котором есть переменная Fitnesse, на которую есть ссылка в предложении Where, и значение этой переменной определено на статической странице одного уровня, я хотел бы иметь возможность запустить этот тест из командной строки. и отправьте значение для этой переменной, которое переопределяет значение на статической странице. Что-то вроде:

java -jar fitnesse-standalone.jar -c "MyTest?test&format=text&${myVar}=abc"

Это вообще возможно?

Спасибо Марк

1 ответ

Есть два способа передачи переменных из командной строки, оба с использованием переменных среды.

(1) Определите переменную среды (или определите переменную, которая уже существует). Вы можете использовать системные переменные общего назначения (например, %TMP% или же %HOMEPATH%) или ваши собственные пользовательские переменные (например, %JAVA_HOME%) или создайте свой. Мой короткий пусковой механизм Fitnesse (файл.CMD) такой:

set SEED=%RANDOM%
set FITNESSE_PORT=9999
java -jar fitnesse-standalone.jar -p %FITNESSE_PORT% -e 0

FITNESSE_PORT переменная определяется только для использования в следующей строке. SEED Переменная, однако, делает магию: она позволяет нескольким людям запускать один и тот же тест одновременно, генерируя уникальные значения для каждой сессии. (Это предполагает, что каждый пользователь запускает свой собственный сервер FitNesse, поэтому у каждого будет свой уникальный сеанс.) Затем я провожу тесты, определяя идентификаторы относительно начального числа, например

!define TestClient (MyTestClient_${SEED})

(2) Передайте настройку переменной окружения в пределах только java-процесса, который создает экземпляр FitNesse. Этот метод дает вам точно такие же результаты с другой реализацией:

java -DSEED=%RANDOM% -jar fitnesse-standalone.jar -p %FITNESSE_PORT% -e 0

Это дает точно такой же результат в FitNesse, предоставляя вам доступ к %SEED% переменная среды как ${SEED},

Для получения дополнительной информации см. Часть 2 моей серии из семи статей о приемочном тестировании с FitNesse, опубликованной на Simple-Talk.com.

Другие вопросы по тегам