truffle에서의 테스트 코드를 작성해 보도록 한다. 이는 앞 포스트 Truffle의 시작에서 이어진다.

테스트 수행 코드 생성

  • 테스트 폴더에 lottery.test.js파일을 생성하고 다음과 같이 작성한다. Mocha프레임워크를 이용하도록 되어 있다.
const Lottery = artifacts.require("Lottery"); //빌드에서 Lottery객체를 가져옴 

//deployer, user1, user2는 가나슈 서버에서 제공하는 유저 10명 중 3명을 의미한다. 
contract ('Lottery', function([deployer, user1, user2]){ 
    beforeEach(async()=>{
        console.log('Before Each!')
        lottery = await Lottery.new();
    })

    it('Basic Test', async()=>{
        console.log('Basic Test!') //한 번 잘 되는지 찍어봄. 
        let owner = await lottery.owner(); //owner()실행하여 값 가져옴
        let value = await lottery.getSomeValue(); //getSomeValue()실행하여 값 가져옴
        console.log(`owner : ${owner}`);
        console.log(`value : ${value}`);
        assert.equal(value, 5);
    })


});

테스트 수행

테스트를 수행한다.

$ truffle test test/lottery.test.js 
Using network 'development'.


Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.



  Contract: Lottery
Before Each!
Basic Test!
owner : 0x224C9CA6307B3f045aaDF02699ec879570e8E1c8
value : 5
    ✓ Basic Test (73ms)


  1 passing (423ms)