인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

No author

This post's author information has been deleted.

ERC20 Breaking (+ truffle, frontend)

before and beforeEach and new

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

Written on

·

141

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 이더가 없다고 에러가 나옵니다

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

soliditytruffleblockchainSmart Contract

Answer 1

1

done님의 프로필 이미지
done
Instructor

안녕하세요,

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

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

No author

This post's author information has been deleted.

Ask a question