FitNesse配置文件

gro*_*ans 5 configuration fitnesse configuration-files

我正在使用FitNesse作为功能测试框架.当FitNesse运行需要配置的代码时,我遇到了麻烦.

如果我需要从配置文件中获取连接字符串,我可以通过将其添加到FitServer.exe.config来使其工作.但是,我不喜欢这个解决方案.我希望FitNesse加载我自己的配置文件,即TheNameOfMyApp.dll.config.

这可能吗?

Jos*_*son 5

当然,容易做到.我假设你正在使用dotnet或dotnet2测试运行器.我正在使用dotnet2测试运行器,以下是我如何设置它:

首先,当你定义你的COMMAND_PATTERN时,包括-c suite.config.例如,我在root中有以下内容:

!define COMMAND_PATTERN {%m -c suite.config %p}
!define TEST_RUNNER {..\..\bin\Debug\FitServer.exe}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

MyProjectName.config如下所示:

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

</configuration>
Run Code Online (Sandbox Code Playgroud)

如果您使用appConfigFile的绝对路径,则可以让自己更轻松.我从绝对的道路开始,让事情有效,然后通过反复试验切换到相对路径.

请注意,我正在从非标准位置运行我的测试运行器,这将影响suite.config中的相对路径.该路径相对于您的TEST_RUNNER位置,而不是suite.config或fitnesse.jar.