我希望我的FitNesse测试设置代码看起来像这样,模拟层次结构菜单上的拖放交互:
$SalesCubeID = 1
$ProductNodeID = 3
$DropTargetID = 4
|script | hierarchy |
|selectNode; | SalesCubeID | ProductNodeID |
|dropSelectedNode; | DropTargetID|
当我将值硬编码到表中时,这一切都有效,但我想使用符号来提高可读性。但我无法弄清楚如何像这样设置符号值。
我已经看到其他代码使用'echo'fixture来设置脚本表中的值,如下所示:
|script | echo fixture |
|$SalesCubeID=|echo|1|
但我得到例外:
Method echo not found in fitSharp.Slim.Operators.InvokeInstructionBase+NullInstance
在FitSharp中使用echoFixture需要做什么?或者是否有另一种方法将符号设置为常量值?
答案 0 :(得分:2)
你需要自己编写夹具才能做到这一点。 Echo在Java代码中,无法通过fitSharp测试访问。
它不一定太花哨。
public class Define
{
public string define(string value)
{
return value;
}
}
}
然后将其添加到.Net程序集路径中。
最后,在您的测试页面中添加下表:
|Library|
|Define|
然后你应该能够在测试中使用define方法。我们称它为Define,但你可以称它为echo。这两种方式都是一样的。关键是有一个方法可以返回你给它的东西。
答案 1 :(得分:2)
嗯,实际上我昨天遇到了同样的问题......起初我使用了这个提示,但后来我切换到了手册: - )
存在一组辅助装置:
!|StringFixture|
|field|field?|
|some value|>>someSymbol|
|some other value|>>otherSymbol|
您可以指定多个符号。还有String,Int,Long,Float,Double,Decimal和Bool这样的装置。
答案 2 :(得分:0)
要使用回声夹具,我认为它首先需要通过库表导入:
|Library |
|echo fixture|
那么您应该可以像这样使用它:
//store a string using the echo fixture
|script |
|$myString=|echo|my string here|
答案 3 :(得分:0)
您还可以使用 FitNesse wiki 变量标记:http://fitnesse.org/FitNesse.UserGuide.FitNesseWiki.MarkupLanguageReference.MarkupVariables
!define SalesCubeID {1} !define ProductNodeID {3} !define DropTargetID {4}
|脚本|层次结构| |选择节点; | ${SalesCubeID} | ${ProductNodeID} | |dropSelectedNode; | ${DropTargetID}|