Тест трюфеля завершается неудачно с ошибкой: не удалось найти артефакты - PullRequest
0 голосов
/ 21 декабря 2018

Я изучаю демо: Код получен: https://truffleframework.com/tutorials/pet-shop,, когда я тестирую:

$ truffle.cmd test
Using network 'development'.

Compiling .\test\TestAdoption.sol...


TestAdoption
1) "before all" hook: prepare suite


0 passing (30s)
1 failing

1) TestAdoption
   "before all" hook: prepare suite:
Error: Could not find artifacts for /E/blockchain/pet-            
shop/contracts/Adoption.sol from any sources
at Resolver.require (D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-resolver\index.js:37:1)
  at TestResolver.require (D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-core\lib\testing\testresolver.js:17:1)
  at TestResolver.require (D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-core\lib\testing\testresolver.js:17:1)
  at dependency_paths.forEach.dependency_path (D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-core\lib\testing\soliditytest.js:203:1)
  at Array.forEach (<anonymous>)
  at deployer.deploy.then (D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-core\lib\testing\soliditytest.js:202:1)
  at D:\nvm\v10.14.2\node_modules\truffle\build\webpack:\packages\truffle-deployer\src\deferredchain.js:20:1
  at process._tickCallback (internal/process/next_tick.js:68:7)

Я обновил свой последний nodejs и установил инструменты window-build-tools, он не работает.

TestAdoption.sol:

pragma solidity ^0.5.0;

import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../contracts/Adoption.sol";

contract TestAdoption {
    Adoption adoption = Adoption(DeployedAddresses.Adoption());
    function testUserCanAdoptPet() public {
        uint returnedId = adoption.adopt(expectedPetId);

        Assert.equal(returnedId, expectedPetId);
    }
    uint expectedPetId = 8;

    address expectedAdopter = address(this);
    function testGetAdopterAddressByPetId() public {
        address adopter = adoption.adopters(expectedPetId);
        Assert.equal(adopter, expectedAdopter, "Owner of the expected pet should be this contract");
    }

    function testGetAdopterAddressByPetIdInArray() public {
        address[16] memory adopters = adoption.getAdopters();
        Assert.equal(adopters[expectedPetId], expectedAdopter, "Owner of the expected pet should be this contract");
    }    

}

2_deploy_contracts.sol:

var Adoption = artifacts.require("Adoption");

module.exports = function(deployer) {
    deployer.deploy(Adoption);
};

И import "truffle/Assert.sol"; vscode говорят: Источник "Трюфель / Assert.sol" не найден: Обратный вызов импорта файлов не поддерживается. Версия моего друга 0.4.14 и работает хорошо, может быть проблема с версией?

enter image description here

Вот проект dir (просто демонстрация от https://truffleframework.com/tutorials/pet-shop):

enter image description here

...