I'm using Fitnesse SliM and I want to check if the result of a fixture is the empty string. Leaving the result field in Fitnesse empty just results in an ignored test which is obviously not what I want. I could solve this by extending the fixture code, but I wonder if this can be handled within Fitnesse itself.
3 Answers
It seems that Slim implies an empty string as an ignore, at least for the QueryTable fixture: A cell that is left blank in the table will be filled in from the result and counted as ignored.
Even though this is not considered a good solution, if you really have to you could use a regular expression to test on an empty string by matching on
=~/^$/
Another option is using the null fixture driver, as seen in http://fitnesse.org/FitNesse.SuiteAcceptanceTests.SuiteSlimTests.SlimSymbolsCanBeBlankOrNull

- 165
- 2
- 4
passing the word 'blank' simulates a empty string.
like:
|Check|That the returned string is | blank |

- 4,537
- 2
- 26
- 50
-
I know the 'blank' keyword works with fitSharp (the .NET version) but AFAIK it's not supported for SLIM. – Mike Stockdale Jul 07 '12 at 17:18
In this case - when you need to check with SLIM usage, whether the result is an empty string, you can use markup variable. Just define it somewhere on your page with test, like:
!define blank {}
And then call it anywhere you want:
|check|SomeFixtureName|${blank}|

- 49
- 1
-
This works for SLIM, thanks for the answer! For non-SLIM it seems 'blank' should be the preferred option as @ryber's answer. – J.Churchill Jul 15 '15 at 09:45
-
2