如何使用FitSharp在FitNesse中使用常量值设置符号

时间:2011-12-19 12:26:27

标签: .net fitnesse fitsharp

我希望我的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需要做什么?或者是否有另一种方法将符号设置为常量值?

4 个答案:

答案 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}|