Как вызвать функцию членов в тесте трюфеля? - PullRequest
0 голосов
/ 14 сентября 2018

Рассмотрим следующую настройку:

contract A {
    B public b = new B();
}

contract B {
    function C() public pure returns (uint c)
    {
        c = 5;
    }
}

Из теста Трюфеля, имеющего экземпляр A, как вызвать функцию C?

1 Ответ

0 голосов
/ 14 сентября 2018

Вот пример того, как вызвать C в тесте трюфеля:

const A = artifacts.require('A')
const B = artifacts.require('B')

contract('A', function(accounts) {
    it('should be possible to call C', async function() {
        let a = await A.new({from: accounts[0]})
        let addressOfB = await a.b();
        let contractB = web3.eth.contract(B.abi)
        let b = contractB.at(addressOfB)
        console.log("Output of C: " + await (b.C()).toNumber());
    })
})

Контракт: A

Выход C: 5

✓ должно быть возможно позвонить C (380 мс)

1 прохождение (400 мс)

...