Fitsharp,如何给出符号作为参数?

时间:2015-05-06 09:06:16

标签: c# fitnesse fitsharp

我正在使用FitNhase和FitSharp(.Net),我正在尝试设置测试套件:

  1. 生成随机端口
  2. 设置执行路径
  3. 路径上的路径中启动进程,然后检索 pid
  4. 我的C#代码如下所示:

    public int RandomPort() {...}
    public int SetupWebsite() {...}
    public int StartWebsite(string path, int port) {...}
    

    My Fitnesse看起来像这样:

    !|Setup|
    |RandomPort?|
    |>>port|
    
    !|Setup|
    |SetupWebsite?|
    |>>path|
    
    !|Setup|
    |StartWebsite?|<<path|<<port|
    |>>pid|
    

    错误:fitSharp.Machine.Exception.MemberMissingException: Member 'startwebsite' with 0 parameter(s) not found for type 'Web.Api.Tests.Setup'.

    我尝试了很多东西,但它永远不会奏效,问题不在于我做错了什么(显而易见),但我找不到如何正确行事。 ..

    我真的很难与Fitnesse合作......我找不到任何地方和最新的教程,或任何资源来帮助我创建一个不错的SuiteTest ...添加更多关于我的问题的上下文,我想在Web.Api 2项目上启动IISExpress(我的安装程序),然后对它进行一些Json / Rest调用,我的Teardown应该简单地终止IISExpress进程,并清除tempory网站文件夹。

    感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

符号保存运算符(&gt;&gt;)和符号调用运算符(&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&quot;&gt;符号保存运算符可用于任何预期值单元格。不是将实际值与期望值进行比较,而是使用符号名称保存实际值。

您可以使用check关键字:

!|setup|
|check|randomport|>>port|
|check|setupwebsite|>>path|
|check|startwebsite|<<path||<<port|>>pid|

请参阅http://fitsharp.github.io/Fit/SymbolValues.html

您还可以使用name关键字。 name关键字将对象分配给符号名称,该符号名称可用于稍后检索该对象。

!|setup|
|name|port|randomport|
|name|path|setupwebsite|
|name|pid|startwebsite|<<path||<<port|

请参阅http://fitsharp.github.io/Fit/NameKeyword.html

请注意,在方法调用中,方法名称是通过连接每个其他单元格来生成的。其他交替单元格是输入值。

答案 1 :(得分:0)

感谢迈克,差不多完成了。我不明白为什么,但我必须改变方法StartWebsite,就像StartWebsiteOnPortAndPath一样,所以我可以拆分电话......很奇怪。

我的最终结果:

!|setup|
|check|random port|>>port|
|check|setup website|>>path|
|check|start website on port|<<port|and path|<<path|>>pid|