Solidity

Mocha 斷言沒有正確返回 assert.equal 與 BN

  • April 5, 2022

這是深度匹配/對象身份的問題嗎?

AssertionError: expected <BN: 204fce5e3e25026110000000> to equal <BN: 204fce5e3e25026110000000>

chai.should 似乎可以與相同的變數一起正常工作,這似乎很奇怪:

// works
supplyCap.should.be.bignumber.equal(_cap);

// doesn't work
assert.equal(supplyCap, _cap);

改變這個:

assert.equal(supplyCap, _cap);

對此:

assert.equal(supplyCap.toString(), _cap.toString());

如果您經常使用**bn-chai** ,請考慮使用它。

然後你可以這樣做:

expect(new BN('1')).to.eq.BN(new BN('1'));
expect(new BN('1')).to.eq.BN('1');
expect(new BN('1')).to.eq.BN(1);

引用自:https://ethereum.stackexchange.com/questions/79324