首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >1)“一切之前”钩子:为“准备套件”

1)“一切之前”钩子:为“准备套件”
EN

Ethereum用户
提问于 2021-05-07 11:09:03
回答 1查看 297关注 0票数 2

我正在尝试创建一个集成测试(测试多个smartContracts一起工作)。我在beforeEach()函数中重新初始化它们。所以我得到了每个测试用例的干净测试。我在其他集成测试中做过同样的事情,(使用相同的契约),但是这里我得到了这个错误。

如您所见,IntegrationTestWhitelist中没有任何问题(所有4个子测试都通过了)。

然而,TransactionTests失败了

在排除故障时,我发现TransactionTests只有在smartContracts ()中初始化两个或两个以上的smartContracts时才能工作。

否则我就会犯“摆脱毒气”的错误。我也尝试用不同的组合初始化/注释它们,只要我不初始化两个以上的组合,就会很好。单独的合同似乎没有什么问题。相反,如果加在一起看上去“太贵”了。

所以我想知道是否有人有类似的问题?

“守则”:

代码语言:javascript
复制
pragma solidity >=0.4.21 <0.7.0;
pragma experimental ABIEncoderV2;


import "../../../contracts/Whitelist.sol";
import "../../../contracts/Blacklist.sol";
import "../../../contracts/dgE.sol";
import "../../../contracts/ECB.sol";
import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";

contract TransactionTests {

    //Contracts
    dgE public DGE;
    ECB public ecb;
    Whitelist public WHITELIST;
    Blacklist public BLACKLIST;


    // Run before every test function (Only works if I comment out any two of them)
    function beforeEach() public {
        DGE = new dgE();
        ecb= new ECB();
        WHITELIST = new Whitelist();
        BLACKLIST = new Blacklist();
    }

    /**
    * The function should always return the same value. (Just an initial test)
    */
    function testSender() public {
        Assert.equal(msg.sender,msg.sender,"Values should be Equal");
    }
EN

回答 1

Ethereum用户

发布于 2022-09-11 10:52:35

我有此错误是因为问题,如果您的编译器抛出的错误超过了最大~24 go大小,那么首先修复契约大小问题,然后错误就会消失。这就是解决我类似问题的原因。

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

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

复制
相关文章

相似问题

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