인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

ERC20 깨부수기 (+ truffle, 프론트엔드)

before와 beforeEach 그리고 new

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

작성

·

130

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

D_One님의 프로필 이미지
D_One
지식공유자

안녕하세요,

만약에 작동에 문제가 있으시다면, 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"))
    );
  });

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기