FitNesse或FitSharp是否支持通用配置文件?

时间:2017-09-15 04:09:56

标签: fitnesse fitsharp

我知道有一个plugins.properties文件用于配置FitNesse环境并自定义它,FitSharp支持某些环境设置的套件配置文件。但FitNesse或FitSharp是否支持通用配置文件,用于设置符号或标记变量?

我问的原因是我使用的是RestFixture,一个允许调用RESTful Web服务的插件。 RestFixture表将主机URL作为fixture参数。我想将主机URL从测试页面移到配置文件中,以便测试页面在不同的环境中是相同的,例如开发,测试和生产。

在根页面中定义标记变量会让我大部分时间都在那里,但我更喜欢将变量完全移出任何页面。

顺便说一下,我使用RestFixture的.NET端口,RestFixture.Net,所以我真的在寻找适用于.NET / FitSharp的解决方案。

2 个答案:

答案 0 :(得分:1)

使用符号链接可以在不同的环境中运行相同的测试。

如您所知,您可以通过将其放在套件页面上为套装中的所有测试设置变量:

---
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}

现在在第三个套件中构建您的测试用例,并根据您的示例使用此属性作为目标。

最后,返回到您的第一个套件页面并转到页面属性,您可以在其中填写符号链接,您基本上可以实例化测试套件。现在,当运行此套件页面时,目标属性将在测试中填充。对第二个套件页面执行相同操作时,您会发现在测试中,使用该值填充目标属性。

套件.wiki文件现在看起来像这样:

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

可以在浏览器中看到包含测试的套件。

但是,测试是相同的,无论您在哪里编辑它们(从套件1,2或3),您都将始终编辑相同的文件。

答案 1 :(得分:1)

事实证明,plugins.properties文件 是一个通用配置文件。

我已阅读有关plugin.properties文件的FitNesse用户指南页面:http://www.fitnesse.org/FitNesse.UserGuide.AdministeringFitNesse.ConfigurationFile我认为plugin.properties文件仅支持指定的内置属性。然而,我错过了底部的一个小纸条:

  

其他属性

     

还有更多属性可用于调整部分内容   FitNesse:

     

<强> ...

     
      
  • 可以在维基页面上定义的任何变量。
  •   

我进行了实验,发现可以在测试页中读取文件key=value中的任何键值对。

关于使用的一些注意事项:

1)plugins.properties文件中的行似乎以(哈希), // (两个正斜杠),; (分号)或 :: (两个冒号)都被视为注释。或者,更有可能的是,他们本身并不是评论,但不会导致任何错误;

2)plugins.properties文件中的反斜杠需要通过加倍来转义。例如&#34; C:\ FitNesse&#34;应写成C:\\FitNesse;

3)要从FitNesse测试页中的plugins.properties文件引用属性,请使用FitNesse标记变量语法: $ {property name}
例如$ {Theme}

4)使用FitNesse标记变量语法,可以在plugins.properties文件中包含环境变量。例如FitNessePluginsDirectory=${FITNESSE_HOME}\\Plugins,其中FITNESSE_HOME是环境变量。