junit中的整数范围断言?

时间:2015-04-25 00:27:08

标签: junit

我想写一个junit断言表示:“整数X必须在10到17之间”,但我找不到一个简单的方法来做到这一点。我真的需要实现自定义匹配器吗?我确实想要一条错误消息,告诉我实际值是什么。

2 个答案:

答案 0 :(得分:4)

有什么问题:

int high = 17;
int low = 10;
assertTrue(myInteger + " is not in [" + low + ", " + high + "]",
           myInteger >= low && myInteger <= high);

如果您不止一次使用它,请将其解决。

答案 1 :(得分:1)

AssertJ已将Integer x = 5; assertThat(x).isBetween(10, 17); 匹配器内置到其AbstractIntegerAssert中。一个像自然语言一样的简单测试用例将“免费”提供有意义的失败报告:

java.lang.AssertionError: 
Expecting:
 <5>
to be between:
 [10, 17]

输出:

Parse.Cloud.afterSave("Profile", function(request) {

  var updatedList = [];
  var query = new Parse.Query("Post");
  query.equalTo("userId", request.object.get("userId"));
  query.find({
    success: function(records) 
    {
        for(var i = 0;i < records.length;i++)
        {
            var currentObject = records[i];
            currentObject.set("name",request.object.get("name"));
            updatedList.push(currentObject);
        }
        Parse.Object.saveAll(updatedList,{
        success: function(list) {},
        error: function(error) {},
      });
    },
    error: function(error) 
    {
    }
  });
});