我在多个dispather上运行Fitnesse,然后将Fitnesse历史记录和日志从所有调度程序复制到单独的计算机上。其他一些项目成员需要访问此计算机上的测试结果,但我不希望他们单击那里的“测试”或“套件”。是否可以通过某种方式禁用“测试”和“套件”按钮?
对于任何选项,我都会感到很高兴:要么在Fitnesse中以某种方式进行配置,要么获取修补的fitnesse.jar,或任何其他选项。
在Fitnessit主网站(http://fitnesse.org/StayInformed)上,有以下注意事项:“注意,此网站上的“测试”和“套件”按钮已被禁用,因为搜索引擎倾向于调用它们并使我的服务器承受压力。该站点实际上是由FitNesse创建的。”。所以,如果可能的话,我需要类似的东西。
有可能吗?不确定我可以在源代码中找到相应的位置来修补并重新构建它。我的希望是有人已经做到了,还是发现它很容易提供帮助。我在fitnesse源代码所在的GitHub中提出了一个问题,但是我还没有得到任何反馈。
谢谢!
答案 0 :(得分:1)
这确实是有可能的,那就是fitnesse.org所做的。 我不是100%知道它是如何完成的,但是我怀疑是通过禁用“响应者”来完成的,请参见http://fitnesse.org/FitNesse.UserGuide.AdministeringFitNesse.ConfigurationFile。
在该页面中,给出了禁止创建新页面的说明:
Responders=addChild:fitnesse.responders.DisabledResponder,new:org.fitnesse.responders.DisabledResponder
您还可以使用以下方法来禁用SuiteResponder
和TestResponder
:
Responders=suite:fitnesse.responders.DisabledResponder,test:org.fitnesse.responders.DisabledResponder
完整的响应者列表在fitnesse.responders.ResponderFactory
中旁注:为什么需要完整的FitNesse安装才能显示测试结果?我建议您考虑以html格式生成测试结果,然后将该html发布到某个地方。我通常使用jUnit runner在构建服务器上运行测试(它还会创建html输出),然后发布生成为人工制品的html文件,人们可以打开/查看。
来自FitNesse项目的示例,在build/fitnesse-results
中生成html:
import org.junit.runner.RunWith;
@RunWith(FitNesseRunner.class)
@FitNesseRunner.Suite("FitNesse.SuiteAcceptanceTests.SuiteSlimTests.TestScriptTable")
@FitNesseRunner.FitnesseDir(".")
@FitNesseRunner.OutputDir("./build/fitnesse-results")
public class FitNesseRunnerTest {
}