FitNesse - 检查变量是否不包含脚本中的文本 table

FitNesse - Check if variable does not contain text in script table

在我们的 FitNesse 测试中,我们使用 ScriptTable 调用外部工具,该工具将一些数据导入我们的数据库。 table 看起来像这样:

!| script | Fixtures.MyClass |
| Update Dir | c:\FitNesse\XXXX\XXXXX |
| check | Message | |

UpdateDir 是我们的固定装置中定义的函数。它将日志内容设置为名为 "Message" 的变量。 Message 的内容如下所示:

Daten aus der Tabelle 'Table1' wurden gelöscht.Datei 'c:\FitNesse\XXX\File1.xml' konnte nicht importiert werden: ORA-00904: "ColX": ungültiger Bezeichner
Daten aus der Tabelle 'Table2' wurden gelöscht.Datei 'c:\FitNesse\XXX\File2.xml' wurde erfolgreich importiert.

使用 "check Message" 变量的内容在 table 中显示在运行时,但目前尚未检查。

现在我想用一行扩展 table 以使用包含函数检查内容。

如果变量"Message"不包含文本"ORA-" 然后成功 否则错误

我尝试将以下行添加到 ScriptTable:

| ensure | Message | should not contain | ORA- |

但是现在 table 抛出错误 "ensure Method messageora not found in PassivPlusFixtures.MyClass" 有人可以帮助我实现所需的行为吗?非常感谢您。

您可以 check using regular expressions in script tables,使用该功能您应该能够做您需要的事情。但是考虑到可怕的正则表达式,我建议在场景中隐藏检查。

类似于:

|script    |Fixtures.MyClass         |
|Update Dir|c:\FitNesse\XXXX\XXXXX   |
|check     |Message|=~/^((?!ORA).)*$/|