FitNesse - Проверить, не содержит ли переменная текст в таблице скриптов - PullRequest
0 голосов
/ 17 марта 2020

В наших тестах FitNesse мы используем ScriptTable для вызова внешнего инструмента, который импортирует некоторые данные в нашу базу данных. Таблица выглядит следующим образом:

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

UpdateDir - это функция, определенная в наших приборах. Он устанавливает содержимое журнала в переменную с именем «Сообщение». Содержимое сообщения выглядит следующим образом:

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.

При «проверке сообщения» содержимое переменной отображается во время выполнения в таблице, но пока не проверено.

Теперь я хочу расширить таблицу строкой, чтобы проверить содержимое с помощью функции содержимого.

Если переменная «Сообщение» не содержит текста «ORA-», то Ошибка «Иначе» Ошибка

Я пытался добавьте следующую строку в ScriptTable:

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

Но теперь таблица выдает ошибку "Убедитесь, что метод messageora не найден в PassivPlusFixtures.MyClass" Может ли кто-нибудь помочь мне добиться желаемого поведения? Заранее большое спасибо.

1 Ответ

1 голос
/ 24 марта 2020

Вы можете проверить, используя регулярные выражения в таблицах скриптов , используя эту функцию, вы сможете делать то, что вам нужно. Но, учитывая ужасное регулярное выражение, я рекомендую скрыть проверку в сценарии.

Что-то вроде:

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