簡體   English   中英

Fitsharp,如何給出符號作為參數?

[英]Fitsharp, how to give symbols as argument?

我正在使用FitNesse和FitSharp(.Net),並且正在嘗試設置測試套件:

  1. 生成一個隨機端口
  2. 設置執行路徑
  3. port上 ,在path中啟動進程,然后獲取它的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|

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM