FitNesse или FitSharp поддерживает файл конфигурации общего назначения?

Я знаю, что есть файл plugins.properties для настройки среды FitNesse и ее настройки, и что FitSharp поддерживает файл конфигурации пакета для определенных параметров среды. Но поддерживает ли FitNesse или FitSharp файл конфигурации общего назначения для установки символов или переменных разметки?

Причина, по которой я спрашиваю, заключается в том, что я использую RestFixture, плагин, который позволяет звонить в веб-сервисы RESTful. Таблица RestFixture принимает URL хоста в качестве аргумента фикстуры. Я хотел бы переместить URL-адрес хоста из тестовых страниц в файл конфигурации, чтобы тестовые страницы были идентичны в разных средах, таких как dev, test и production.

Определение переменной разметки на корневой странице дает мне большую часть пути, но я бы предпочел полностью переместить переменную из любых страниц.

Кстати, я использую.NET-порт RestFixture RestFixture.Net, поэтому я действительно ищу решение, которое применимо к.NET / FitSharp.

2 ответа

Решение

Оказывается, файл plugins.properties - это файл конфигурации общего назначения.

Я прочитал страницу Руководства пользователя FitNesse о файле plugin.properties: http://www.fitnesse.org/FitNesse.UserGuide.AdministeringFitNesse.ConfigurationFile Я понял, что файл plugin.properties поддерживает только указанную встроенную свойства. Однако внизу было небольшое примечание, которое я пропустил:

Другие свойства

Есть еще несколько свойств, которые можно использовать для настройки частей FitNesse:

...

  • Любая переменная, которая может быть определена на вики-странице.

Я экспериментировал и обнаружил, что любая пара ключ-значение в файле, вида key=value, можно прочитать на тестовой странице.

Некоторые заметки об использовании:

1) Похоже, что строки в файле plugins.properties начинаются с # (хэш), // (две косые черты),; (точка с запятой) или :: (две двоеточия) рассматриваются как комментарии. Или, что более вероятно, они не являются комментариями сами по себе, а просто не вызывают никаких ошибок;

2) Обратные слеши в файле plugins.properties необходимо экранировать, удваивая их. например, "C:\FitNesse" должен быть записан как C:\\FitNesse;

3) Для ссылки на свойство из файла plugins.properties на тестовой странице FitNesse используйте синтаксис переменной разметки FitNesse: $ {имя свойства}
например, $ {Theme}

4) Переменные среды могут быть включены в файл plugins.properties, используя синтаксис переменной разметки FitNesse. например FitNessePluginsDirectory=${FITNESSE_HOME}\\Plugins где FITNESSE_HOME - переменная окружения.

Выполнение одних и тех же тестов в разных средах архивируется с помощью символических ссылок.

Как вам известно, вы можете установить переменную для всех тестов в костюме, разместив ее на странице набора:

---
Suite
Help: Suite to contain tests for local testing
---
!define targetenvironment {http://localhost:8080}

Создайте этот пакет так, чтобы без вложенных страниц. Также создайте другую страницу пакета с тем же свойством, но с другим значением.

---
Suite
Help: Suite to contain tests for local testing
---
!define targetenvironment {http://192.168.10.1:8080}

Теперь создайте свои тестовые сценарии в третьем наборе и используйте это свойство в соответствии с вашим примером.

Наконец, вернитесь на свою первую страницу набора и перейдите к свойствам страницы, где вы можете заполнить символическую ссылку, вы в основном создаете экземпляры тестовых наборов. Теперь при запуске этой страницы пакета свойство target заполняется в тестах. Делая то же самое для второй страницы набора, вы обнаружите, что в тестах целевое свойство заполняется этим значением.

Wiki-файл Suite теперь будет выглядеть так:

---
Suite
Help: Suite to contain tests for local testing
SymbolicLinks
  TestSet: .SuiteContainingTests
---
!define targetenvironment {http://localhost:8080}

А набор, содержащий тесты, можно увидеть в браузере.

Тем не менее, тесты одинаковы, и независимо от того, где вы их редактируете (из набора 1, 2 или 3), вы всегда будете редактировать одни и те же файлы.

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