文件夹结构如下:
Examples
|
+- Multiply
| +- Solidity
| +- contracts
| +- MultiplyContract.sol
|
+- UUIDProvider
+- Solidity
+- contracts
+- UUIDProviderContract.sol我想测试(主要)合同: MultiplyContract.sol
migrations\2_deploy_contracts.js文件如下所示:
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);
};但是,在运行松露测试时,我会得到以下错误:
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相同的位置吗?
发布于 2018-11-30 17:06:12
松露查找合同文件夹,并编译合同下的所有合同和子文件夹。
artifacts.require();
应该参考编译后的合同,而不是sol文件。
https://ethereum.stackexchange.com/questions/33643
复制相似问题