3

我希望我的 FitNesse 测试设置代码看起来像这样,以模拟层次菜单上的拖放交互:

$SalesCubeID = 1
$ProductNodeID = 3
$DropTargetID = 4

|script            | hierarchy |
|selectNode;       | SalesCubeID | ProductNodeID |
|dropSelectedNode; | DropTargetID|

当我将值硬编码到表中时,这一切都有效,但我想使用符号来提高可读性。但我不知道如何设置符号值这样。

我已经看到其他代码使用“echo”夹具来设置脚本表中的值,如下所示:

|script       | echo fixture |
|$SalesCubeID=|echo|1|

但我得到了例外:

Method echo not found in fitSharp.Slim.Operators.InvokeInstructionBase+NullInstance

我必须做什么才能在 FitSharp 中使用 echoFixture?还是有另一种将符号设置为常量值的方法?

4

4 回答 4

2

您需要编写自己的夹具来执行此操作。Echo 在 Java 代码中,fitSharp 测试无法访问。

它不必太花哨。

public class Define
{

   public string define(string value)
        {
            return value;
        }
    }
}

然后将其添加到您的 .Net 程序集路径中。

最后,在您的测试页面中添加下表:

|Library|
|Define|

然后您应该能够在测试中使用 define 方法。我们将其称为定义,但您可以将其称为回声。无论哪种方式都是一样的。关键是有一个方法可以返回你给它的东西。

于 2011-12-19T16:57:40.670 回答
2

好吧,实际上我昨天也遇到了同样的问题......起初我使用了这个技巧,但后来我切换到手册:-)

存在一组辅助装置就是为了做到这一点:

!|StringFixture|
|field|field?|
|some value|>>someSymbol|
|some other value|>>otherSymbol|

您可以分配多个符号。并且有 String、Int、Long、Float、Double、Decimal 和 Bool 等固定装置。

于 2015-03-28T16:54:39.123 回答
0

您还可以使用 FitNesse wiki 变量标记: http: //fitnesse.org/FitNesse.UserGuide.FitNesseWiki.MarkupLanguageReference.MarkupVariables

!define SalesCubeID {1} !define ProductNodeID {3} !define DropTargetID {4}

|脚本 | 层次结构 | |选择节点;| ${SalesCubeID} | ${ProductNodeID} | |dropSelectedNode; | ${DropTargetID}|

于 2020-12-31T05:02:24.023 回答
0

要使用 echo 夹具,我认为它需要首先通过库表导入:

|Library     |
|echo fixture|

然后你应该可以像这样使用它:

//store a string using the echo fixture
|script                        |
|$myString=|echo|my string here|
于 2020-10-21T15:24:19.057 回答