我使用FitNesse作为功能测试框架。当FitNesse运行需要配置的代码时,我遇到了麻烦。
如果我需要从配置文件中获取连接字符串,我可以通过将其添加到FitServer.exe.config来使其工作。然而,我不喜欢这个解决方案。我希望FitNesse加载我自己的配置文件,即TheNameOfMyApp.dll.config。
这个是可能的吗?
发布于 2009-03-17 18:24:58
当然,很容易做到。我假设您使用的是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的。
发布于 2009-03-17 13:34:42
是的,这是可能的,但工作量很大。您需要定义一个测试项目和一个“包装器”-project,在这个项目中,您可以使用数据和配置设置来提供测试。
https://stackoverflow.com/questions/654259
复制相似问题