【问题标题】:Custom FEST Assertions : Displaying readable message with自定义 FEST 断言:显示可读消息
【发布时间】:2015-06-13 22:47:35
【问题描述】:

我创建了一个自定义 FEST 条件来验证我的实际字符串是否匹配或等于预期字符串

public class StringMatchesOrIsEqualTo extends Condition<String>{

    private String expectedStringOrExpression;

    public StringMatchesOrIsEqualTo(final String expectedStringorExpression){
        this.expectedStringOrExpression = expectedStringorExpression;
    }

    @Override
    public boolean matches(String value) {          
        return value.matches(expectedStringOrExpression) || value.equals(expectedStringOrExpression);
    }
}

每当条件失败时,我希望它显示一条消息,告诉我原始和预期的字符串是什么

目前显示字符串为

actual value:<'Some String'> should satisfy condition:<StringMatchesOrIsEqualTo>

有没有办法让这条消息也显示匹配的对象?

我尝试覆盖类中的 toString 方法

@Override
public String toString() {      
    return "string matches or is equal to : " + expectedStringOrExpression;
}

但这似乎不起作用。

【问题讨论】:

    标签: java junit testng assertions fest


    【解决方案1】:

    你想设置description,可以通过调用Condition(String)构造函数来完成:

    public StringMatchesOrIsEqualTo(final String expectedStringorExpression){
        super("A String that matches, or is equal to, '" + expectedStringorExpression "'");
        this.expectedStringOrExpression = expectedStringorExpression;
    }
    

    或者,您可以覆盖 description():

    @Override
    public String description()
    {
        return "A String that matches, or is equal to, '" + expectedStringorExpression "'");
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      相关资源
      最近更新 更多