1

我想写一个基于属性的单元测试来证明整数减法是不可交换的。我有 mocha 和fast-check

const fc = require('fast-check')

describe('The subtraction', () => {
    it('is not commutative', () => {
        fc.assert(
            fc.property(
                fc.integer(), fc.integer(), (a, b) => a - b !== b - a
            )
        )
    })
})

几次运行后,我注意到当条件a === b && a <= 0为真时它会失败。但是,我不确定是否还有其他不符合的条件a - b !== b - a,因此我不确定排除该特定条件是否正确。

我该如何编写测试?我应该排除特定条件吗?或者我应该检查a - b !== b - a至少两个给定值是否为真?或者有其他方法可以测试吗?

也欢迎使用任何其他类型的 javascript 库进行基于属性的测试的示例。

4

0 回答 0