Fitsharp,如何将符号作为参数?
Fitsharp, how to give symbols as argument?
我正在将 FitNesse 与 FitSharp (.Net) 结合使用,并且正在尝试设置测试套件:
- 随机生成一个端口
- 设置执行路径
- 在端口上启动进程,在路径中,并检索它的pid
我的 C# 代码如下所示:
public int RandomPort() {...}
public int SetupWebsite() {...}
public int StartWebsite(string path, int port) {...}
我的 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 进程,并清除临时网站文件夹。
感谢帮助!
符号保存操作符(>>)和符号调用操作符(<<)可用于在故事测试中收集一个地方的值,然后在其他地方使用它。符号保存运算符可用于任何预期值单元格。不是将实际值与预期值进行比较,而是将实际值与符号名称一起保存。
您可以使用 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
请注意,在方法调用中,方法名称是通过连接每隔一个单元格而形成的。其他交替单元格是输入值。
多亏了迈克,一切都快完成了。我不明白为什么,但我必须将方法 StartWebsite
更改为类似 StartWebsiteOnPortAndPath
的方法,这样我才能拆分调用...很奇怪。
我的最终结果:
!|setup|
|check|random port|>>port|
|check|setup website|>>path|
|check|start website on port|<<port|and path|<<path|>>pid|
我正在将 FitNesse 与 FitSharp (.Net) 结合使用,并且正在尝试设置测试套件:
- 随机生成一个端口
- 设置执行路径
- 在端口上启动进程,在路径中,并检索它的pid
我的 C# 代码如下所示:
public int RandomPort() {...}
public int SetupWebsite() {...}
public int StartWebsite(string path, int port) {...}
我的 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 进程,并清除临时网站文件夹。
感谢帮助!
符号保存操作符(>>)和符号调用操作符(<<)可用于在故事测试中收集一个地方的值,然后在其他地方使用它。符号保存运算符可用于任何预期值单元格。不是将实际值与预期值进行比较,而是将实际值与符号名称一起保存。
您可以使用 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
请注意,在方法调用中,方法名称是通过连接每隔一个单元格而形成的。其他交替单元格是输入值。
多亏了迈克,一切都快完成了。我不明白为什么,但我必须将方法 StartWebsite
更改为类似 StartWebsiteOnPortAndPath
的方法,这样我才能拆分调用...很奇怪。
我的最终结果:
!|setup|
|check|random port|>>port|
|check|setup website|>>path|
|check|start website on port|<<port|and path|<<path|>>pid|