• 카테고리

    질문 & 답변
  • 세부 분야

    블록체인

  • 해결 여부

    미해결

expect 테스트가 정상적으로 동작하지 않습니다

22.08.31 22:23 작성 조회수 89

1

const Simple2 = artifacts.require("Simple2");
const { chai, BN } = require("./setUp");
const { expect } = chai;

contract.only("Test7", (accounts) => {
  let simpleInstance;
  before(async () => {
    simpleInstance = await Simple2.deployed();
  });

  it("Should have 0 ether", async () => {
    expect(
      web3.eth.getBalance(simpleInstance.address)
    ).to.eventually.be.bignumber.equal(
      new BN(web3.utils.toWei("50000", "ether"))
    );
  });
});

await을 없애고 eventually를 사용하면서 테스트값에
50000 이더를 넣어도 테스트가 정상적으로 통과합니다

    let balance = await web3.eth.getBalance(simpleInstance.address);
    expect(balance).to.be.bignumber.equal(
      new BN(web3.utils.toWei("50000", "ether"))

eventually 이전 강의에 썼던 await을 다시 사용하면
테스트에서 50000 이더가 없다고 에러가 나옵니다

수정해야 할 부분이 있을까요?

답변 1

답변을 작성해보세요.

1

안녕하세요,

만약에 작동에 문제가 있으시다면, expect앞에 await을 붙여주시면 감사하겠습니다 :).

아래와 같은 형태로 쓰시면, 오류가 발생하는것을 보실 수 있으실거예요 :))

  it("Should have 0 ether", async () => {
    await expect(
      web3.eth.getBalance(simpleInstance.address)
    ).to.eventually.be.bignumber.equal(
      new BN(web3.utils.toWei("50000", "ether"))
    );
  });

혹시 문제가 있으시다면, 언제든지 문의주시면 감사하겠습니다 : )