nodejs mocha如何处理近似匹配

时间:2015-10-25 06:23:47

标签: node.js testing mocha

我正在使用mocha在nodejs中进行测试。

问题是我不知道如何处理匹配的第n个小数点精度。例如以下代码

value.should.equal((0.8+0.4+1/3)/3)

失败并显示错误消息

 AssertionError: expected 0.5111111111111111 to equal 0.5111111111111112
      + expected - actual

      -0.5111111111111111
      +0.5111111111111112

但这对我来说也是一样的。如何处理这种精确度?

1 个答案:

答案 0 :(得分:1)

您可以使用chai断言库和closeTo()断言

 //Making request to API
    adapter.create(WarehouseAPI.class).getWarehouse()
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<List<Warehouse>>() {
                @Override
                public void onCompleted() {
                    Log.d(this.getClass().getName(), "OnCompleted ()");
                }

                @Override
                public void onError(Throwable e) {
                    Log.d(this.getClass().getName(), "Error:" + e.toString());
                }

                @Override
                public void onNext(List<Warehouse> response) {
                    // code for `RecyclerView` I have posted above
                }

            });