1

有人可以提供一个如何使用FitNesse String Fixture的例子吗?

以下不起作用:

|fitnesse.fixtures.StringFixture|
|value|expected|contains?       |
|hello|lo      |true            |

为了提供上下文,我正在尝试验证IdREST 调用的输出字段的值:

|Table:smartrics.rest.fitnesse.fixture.RestFixture | http://localhost|
|GET|/data/1234|  |                                                | |
|let|body      |js| JSON.parse(response.body)                      | |
|let|id        |js| JSON.parse(response.body).Data[0].Id           | |

如果可能的话,我不想为此编写任何代码。

4

2 回答 2

2

我不知道你提到的灯具,但你可以用我的灯具做你描述的事情(https://github.com/fhoeben/hsac-fitnesse-fixtures)。

对于字符串:nl.hsac.fitnesse.fixture.slim.StringFixture

|script|string fixture                                                                                    |
|check |value of             |Hello                      |Hello                                           |
|check |length of            |Hello                      |5                                               |
|ensure|text                 |Hello world!               |contains    |world                              |
|reject|text                 |Hello world!               |contains    |moon                               |
|ensure|value                |Hello                      |differs from|Hell                               |
|ensure|value                |Hello                      |equals      |Hello                              |
|check |convert to upper case|Bye                        |BYE                                             |
|check |convert to lower case|Bye                        |bye                                             |
|check |normalize whitespace |!-   Hello    World    -!  |Hello World                                     |
|check |replace all          |Hello ([A-Za-z]+)          |in          |Hello World|with|$1      |World    |
|check |replace all          |(\d{4})-(\d{1,2})-(\d{1,2})|in          |1975-12-3  |with|$3-$2-$1|3-12-1975|

对于 JSON(使用JsonPath): nl.hsac.fitnesse.fixture.slim.JsonHttpTest

|script  |json http test                            |
|get from|http://echo.jsontest.com/key/value/one/two|
|show    |response                                  |
|check   |json path       |$.key       |value       |
|check   |json path       |$.one       |two         |

因此,您的 REST 检查将类似于:

|script  |json http test                 |
|get from|http://localhost/data/1234     |
|show    |response                       |
|check   |json path      |$.Data[0].Id |1|
|note    |or assign to symbols           |
|$body=  |response                       |
|$id=    |json path      |$.Data[0].Id   |
于 2015-06-18T13:06:11.323 回答
1

看起来 contains() 返回预期,而不是真/假。所以测试将是:

|fitnesse.fixtures.StringFixture|
|value|expected|contains?|
|hello|lo|lo|

不确定这是一个有用的夹具,看起来它只是一个演示样本。

于 2015-06-18T23:29:41.953 回答