Очистка хранилища смарт-контрактов после запуска тестового примера - PullRequest
0 голосов
/ 28 мая 2019

При выполнении тестовых случаев для смарт-контракта я бы хотел либо уничтожить смарт-контракт и повторно развернуть его, либо сбросить его состояние после каждого запуска тестового примера.Тестовые случаи написаны на JavaScript.Идея состоит в том, чтобы запустить код внутри структуры AfterEach.


contract("Contract", accounts => {
  let contract;
  let owner = accounts[0];
  let admin = accounts[1];
  let user = accounts[2];

  describe("function1 tests", () => {
    before("Setup contract for each test", async () => {
      contract = await Contract.deployed();
    });

    afterEach("", async () => {
     //code to selfdestruct or reset the state of the contract after 
     //each test
    });

    it("test1", () => {
      //test1 code
    });

    it("test2", () => {
      //test2 code
    });
  });
});

1 Ответ

0 голосов
/ 04 июня 2019

Внутри beforeEach()

beforeEach('initialize the contract', async function() {
    contract = await Contract.new()
})

Таким образом, у вас будет новый экземпляр Контракта для каждого it случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...