我知道有一个plugins.properties文件用于配置和自定义FitNesse环境,并且FitSharp支持针对特定环境设置的套件配置文件。但是,FitNesse或FitSharp是否支持通用配置文件,用于设置符号或标记变量?
我之所以问这个问题,是因为我使用的是RestFixture,一种允许调用RESTful web服务的插件。RestFixture表将主机URL作为固定参数。我希望将测试页面中的主机URL移到一个配置文件中,以便测试页面在不同的环境(如dev、test和production )中是相同的。
在根页面中定义标记变量是我在那里的主要方式,但我更愿意将变量完全移出任何页面。
顺便说一下,我使用的是.NET端口RestFixture,RestFixture.Net,所以我真的在寻找一种适用于.NET / FitSharp的解决方案。
发布于 2017-09-17 03:03:18
事实证明,plugins.properties文件是一个通用配置文件。
我已经阅读了关于FitNesse文件的plugin.properties用户指南页面:http://www.fitnesse.org/FitNesse.UserGuide.AdministeringFitNesse.ConfigurationFile,我认为它意味着plugin.properties文件只支持指定的内置属性。然而,在底部有一张我漏掉的小纸条:
其他属性 还有更多的属性可用于调整FitNesse的部分: …
我进行了实验,发现key=value格式的文件中的任何键值对都可以在测试页面中读取。
关于使用的一些注意事项:
1) plugins.properties文件中以# (散列)、// (两个正斜杠)、、(半冒号)或:: (两个冒号)开头的行似乎都被视为注释。或者,更有可能的是,它们本身并不是评论,只是不会造成任何错误;
2) plugins.properties文件中的反斜杠需要通过加倍进行转义。例如“C:\ written”应该写成C:\\FitNesse;
3)要在plugins.properties测试页面中引用FitNesse文件中的属性,请使用FitNesse标记变量语法:${property }
${}
4)环境变量可以使用plugins.properties标记变量语法包含在FitNesse文件中。例如FitNessePluginsDirectory=${FITNESSE_HOME}\\Plugins,其中FITNESSE_HOME是一个环境变量。
发布于 2017-09-15 07:41:45
在不同的环境上运行相同的测试是通过使用符号链接进行归档的。
如您所知,您可以在套件页面中为所有测试设置一个变量:
---
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}现在,在第三个套件中构建您的测试用例,并将此属性作为目标使用。
最后,回到您的第一个套件页面并转到页面属性,在那里您可以填充一个符号链接,您基本上可以实例化测试套件。现在,在运行此套件页时,将在测试中填充目标属性。当对第二个套件页面执行相同的操作时,您会发现在测试中,目标属性使用该值填充。
Suite .wiki文件现在看起来如下所示:
---
Suite
Help: Suite to contain tests for local testing
SymbolicLinks
TestSet: .SuiteContainingTests
---
!define targetenvironment {http://localhost:8080}在浏览器中可以看到包含测试的套件。
但是,测试是相同的,无论您在哪里编辑它们(来自套件1、2或3),您总是会编辑相同的文件。
https://stackoverflow.com/questions/46231564
复制相似问题