Я получаю ошибку: «TypeError: не удается прочитать свойство ‘2’ из неопределенного. » в файле тестирования javascript

#javascript #arrays #solidity #truffle

#javascript #массивы #солидность #трюфель

Вопрос:

   it("should not allow non-owner to delete people", async function(){
    let instance = await People.deployed();
    await instance.createPerson("Lisa", 35, 160, {from: accounts[2], value: web3.utils.toWei("1", "ether")});
    await truffleAssert.fails(instance.deletePerson(accounts[2], {from: accounts[2]}), truffleAssert.ErrorType.REVERT);
  });
  it("should allow the owner to delete people", async function(){
   let instance = await People.new();
   await instance.createPerson("Lisa", 35, 160, {from: accounts[2], value: web3.utils.toWei("1", "ether")});
   await truffleAssert.passes(instance.deletePerson(accounts[1], {from: accounts[0]}));
  });
  

Используя набор для тестирования truffle, я получаю этот результат:

  Contract: People
    √ should't create a person with age over 150 years (134ms)
    √ shouldn't create a person without payment (143ms)
    √ should set seniour status correctly (333ms)
    √ should set age correctly (65ms)
    1) should not allow non-owner to delete people
    > No events were emitted
    2) should allow the owner to delete people
    > No events were emitted


  4 passing (898ms)
  2 failing

  1) Contract: People
       should not allow non-owner to delete people:
     TypeError: Cannot read property '2' of undefined
      at Context.<anonymous> (testpeopletest.js:31:65)
      at process._tickCallback (internal/process/next_tick.js:68:7)

  2) Contract: People
       should allow the owner to delete people:
     TypeError: Cannot read property '2' of undefined
      at Context.<anonymous> (testpeopletest.js:36:64)
      at process._tickCallback (internal/process/next_tick.js:68:7)
  

Последние два теста должны были работать так же, как и для других студентов. Однако у меня такая же ошибка типа.
Я не понимаю, почему он не может распознать синтаксис массива.

Комментарии:

1. Похоже, что accounts не определено (что имеет смысл — я нигде не вижу объявления в вашем коде …) Возможно, вы имели в виду web3.eth.accounts или что-то в этом роде?

2. Можете ли вы показать свой полный тестовый файл?

3. Я исправил проблему, хотя и не знаю точно, как.