Fitnesse Trim 比较前的字符串数据

Fitnesse Trim String data before comparison

我想问一下是否有办法在将数据与 table 中的数据进行比较之前 trim 字符串数据。例如,如果我们有

|MyCompareClass|
|getString?    |
|string1       |

getString() 的结果将是 "string1 "。我希望比较结果是绿色的,而不是预期的 "string1"。 我正在寻找一种无需修改 MyCompareClass 源代码即可完成此操作的方法。有什么想法吗?

您可以将 !-string1 -! 放入您的单元格中。我能想到的所有其他选项都涉及对 SUT 或 fixture 的代码更改。

您可以编写自定义字符串比较运算符 class:

public class MyCustomCompare: CellOperator, CompareOperator<Cell> {
    public bool CanCompare(TypedValue actual, Tree<Cell> expected) {
        return actual.Type == typeof(string);
    }

    public bool Compare(TypedValue actual, Tree<Cell> expected) {
        return actual.Value.ToString().Trim() == expected.Value.Text;
    }
}

然后使用 Fitnesse 配置夹具注册您的 class:

|configure|processor|add operator|MyCustomCompare|