Файлы конфигурации FitNesse - PullRequest
5 голосов
/ 17 марта 2009

Я использую FitNesse в качестве фреймворка для функционального тестирования. У меня возникают проблемы, когда FitNesse запускает код, который требует настройки.

Если мне нужно получить строку подключения из файла конфигурации, я могу заставить ее работать, добавив ее в файл FitServer.exe.config. Однако мне не нравится это решение. Я хотел бы, чтобы FitNesse загрузил мой собственный файл конфигурации, а именно TheNameOfMyApp.dll.config.

Возможно ли это?

Ответы [ 2 ]

5 голосов
/ 17 марта 2009

Конечно, легко сделать. Я предполагаю, что вы используете тестер dotnet или dotnet2. Я использую тестовый прогон dotnet2, и вот как я его настроил:

Во-первых, когда вы определяете COMMAND_PATTERN, включите -c suite.config. Например, у меня есть следующее в корне:

!define COMMAND_PATTERN {%m -c suite.config %p}
!define TEST_RUNNER {..\..\bin\Debug\FitServer.exe}

suite.config идет в том же каталоге, что и fitnesse.jar:

<suiteConfig>
    <fit.Settings>
        <appConfigFile>..\..\MyProjectFolder\fitnesse\MyProjectName.config</appConfigFile>
    </fit.Settings>
    <fit.Assemblies>
    </fit.Assemblies>
    <fit.FileExclusions>
        <add>^\.svn$</add>
    </fit.FileExclusions>
    <fit.Namespaces>
    </fit.Namespaces>
    <fit.CellHandlers>
    </fit.CellHandlers>
    <fitlibrary.CellHandlers>
    </fitlibrary.CellHandlers>
</suiteConfig>

MyProjectName.config выглядит так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="keyname" value="something" />
    </appSettings>

</configuration>

Вы можете упростить себе задачу, если используете абсолютный путь для appConfigFile. Я начал с абсолютного пути, начал работать, затем переключился на относительный путь методом проб и ошибок.

Обратите внимание, что я запускаю тестовый прогон из нестандартного местоположения, что повлияет на относительный путь в suite.config. Путь зависит от вашего местоположения TEST_RUNNER, а НЕ от suite.config или fitnesse.jar.

0 голосов
/ 17 марта 2009

да, это возможно, но ужасная нагрузка на работу. вам нужно определить тестовый проект, в котором у вас есть свои тесты, и «обертку» -проект, где у вас есть функциональность, обеспечивающая тестирование данными и настройками конфигурации.

...