код для beforeEach
должен быть внутри describe
, и тогда вы можете использовать async - await
вместо стандартных обещаний, что делает синтаксис более приятным.
это будет выглядеть так
describe('Inbox contract test',()=>{
const inboxContract = new web3.eth.Contract(JSON.parse(interface))
beforeEach(async ()=>{
// Get a list of all accounts
const accountList = await web3.eth.getAccounts()
const contractAddress = Array.from(accountList)[0];
let receipt = await inboxContract.deploy({data: bytecode, arguments:['Hi there!']})
.send({from: contractAddress, gas: '1000000'});
//Use one of the accounts to deploy the contract
inboxContract.options.address = receipt.contractAddress
});
...
но вам нужно убедиться, что ваши тесты выполняются inline
, потому что глобальная переменная inboxContract
будет заменяться перед каждым тестом