Я использую Мокко и Чай для написания тестов для умного контракта, развернутого в блокчейне разработки с трюфелем.
У меня есть контракт с именем Election
который содержит два кандидата.
Код теста выглядит следующим образом:
it("Checking the properties for candidates", () => {
return Election.deployed().then((app) => {
return [app.candidates(1), app];
}).then(params => {
const [candidate1, app] = params;
assert.equal(candidate1.id, 0);
return [app.candidates(1), app];
}).then(params => {
const [candidate2, app] = params;
assert.equal(candidate2.id, 1);
});
});
Тесты проходят, когда я не использую деструктуризацию массива для возврата app.candidates()
и экземпляр app
.В этом случае мне пришлось объявить глобальную переменную, присвоить ее app
и использовать в каждой области видимости.Но я хочу избежать определения глобальной переменной.Я наткнулся на этот пост на SO, который предлагает использовать ES6 деструктуризацию.
Но здесь я получаю candidate1.id
и candidate2.id
как undefined
.
Что я здесь не так делаю?