FitNesse配置文件

5
我正在使用FitNesse作为功能测试框架。当FitNesse运行需要配置的代码时,我遇到了麻烦。
如果我需要从配置文件中获取连接字符串,我可以通过将其添加到FitServer.exe.config中使其正常工作。然而,我不喜欢这个解决方案。我希望FitNesse加载我的自定义配置文件,即TheNameOfMyApp.dll.config。
这是否可行?
2个回答

5
当然,很容易做到。我假设您正在使用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。


1
虽然这个方法可行,但你也可以使用-a选项(而不是-c选项),如http://stackoverflow.com/questions/1849172/fitnesse-app-config中所述 - 这样会更简单一些。 - Chad Gorshing

0
是的,这是可能的,但需要大量的工作。您需要定义一个测试项目,在其中编写您的测试,并创建一个“包装器”项目,在其中提供测试数据和配置设置的功能。

你有示例解决方案或教程的链接吗? - grootjans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接