首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用松露进行单元测试时,如何包含来自不同文件夹的其他合同?

在使用松露进行单元测试时,如何包含来自不同文件夹的其他合同?
EN

Ethereum用户
提问于 2017-12-17 12:26:29
回答 1查看 767关注 0票数 3

文件夹结构如下:

代码语言:javascript
复制
Examples
  |
  +- Multiply
  |        +- Solidity
  |                 +- contracts
  |                           +- MultiplyContract.sol
  |
  +- UUIDProvider
               +- Solidity
                        +- contracts
                                  +- UUIDProviderContract.sol

我想测试(主要)合同: MultiplyContract.sol

migrations\2_deploy_contracts.js文件如下所示:

代码语言:javascript
复制
var UUIDProviderContract = artifacts.require("../../UUIDProvider/Solidity/contracts/UUIDProviderContract.sol");
var MultiplyContract = artifacts.require("MultiplyContract");

module.exports = function (deployer) {
    deployer.deploy(UUIDProviderContract);

    var multiplier = 4;
    deployer.deploy(MultiplyContract, multiplier);
};

但是,在运行松露测试时,我会得到以下错误:

代码语言:javascript
复制
Compiling .\contracts\Migrations.sol...
Compiling .\contracts\MultiplyContract.sol...
Compiling .\test\TestMultiplyContract.sol...
Compiling truffle/Assert.sol...
Compiling truffle/DeployedAddresses.sol...
C:\SmartContracts\Examples\Multiply\Solidity\node_modules\truffle\build\cli.bundled.js:63556
  throw new Error("Could not find artifacts for " + import_path + " from any sources");

那么如何包含UUIDProviderContract.sol呢?

或者这是不可能的,我应该将它复制到与MultiplyContract.sol相同的位置吗?

EN

回答 1

Ethereum用户

发布于 2018-11-30 17:06:12

松露查找合同文件夹,并编译合同下的所有合同和子文件夹。

artifacts.require();

应该参考编译后的合同,而不是sol文件。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/33643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档