当前位置: 首页 > news >正文

吴中区建设局网站深圳狮子会网站

吴中区建设局网站,深圳狮子会网站,江西seo推广,一级消防工程师一、准备测试 上期我们自己安装部署了truffle,并且体验了测试用例的整个测试流程,实际开发中,我们可以对自己的合约进行测试。 我们首先先明白自定义合约测试需要几个文件 合约文件:既然要测试合约,肯定要有合约的源码…

一、准备测试

        上期我们自己安装部署了truffle,并且体验了测试用例的整个测试流程,实际开发中,我们可以对自己的合约进行测试。

        我们首先先明白自定义合约测试需要几个文件

  • 合约文件:既然要测试合约,肯定要有合约的源码文件,以.sol后缀结尾
  • 部署文件:测试合约要写一份部署文件,用于在测试中部署合约,以.js后缀结尾
  • 测试文件:测试合约的流程文件,用于对合约的方法流程进行测试,以.js后缀结尾

         合约文件的话,我们写一个最简单的合约用来测试,合约中定义了一个名为"number" 的无符号整数变量,通过调用 store() 函数,可以将一个无符号整数值存储到 "number" 变量中。然后,可以通过调用 retrieve() 函数来获取存储在 "number" 变量中的值。

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;/*** @title Storage* @dev Store & retrieve value in a variable* @custom:dev-run-script ./scripts/deploy_with_ethers.ts*/
contract Storage {uint256 number;/*** @dev Store value in variable* @param num value to store*/function store(uint256 num) public {number = num;}/*** @dev Return value * @return value of 'number'*/function retrieve() public view returns (uint256){return number;}
}

        我们把它存放到工作目录中的contracts目录下,命名为storage.sol

        部署文件,固定的格式,可以参考之前下载的测试用例修改一下即可

const Storage = artifacts.require("Storage");module.exports = function (deployer) {deployer.deploy(Storage);
};

        我们把它存放在migrations目录下,命名为1_deploy_contracts.js

        最后是测试文件,因为这个合约只有两个方法,所以我们两个方法都要进行测试,测试用例命名为Storage_test.js

const Storage = artifacts.require("Storage");contract("Storage", (accounts) => {let storageInstance;before(async () => {storageInstance = await Storage.deployed();});it("should store a value", async () => {const newValue = 42;await storageInstance.store(newValue);const storedValue = await storageInstance.retrieve();assert.equal(storedValue, newValue, "Value was not stored correctly");});it("should retrieve the stored value", async () => { const storedValue = await storageInstance.retrieve();assert.equal(storedValue, 42, "Stored value is incorrect");});
});

        最后的目录结构是这样的:

        

二、开始测试: 

        和之前测试用例的测试方法一样,我们已经配置好了文件位置,现在可以开始测试啦

        测试流程为:truffle develop(启用测试网络) => compile(编译合约) => migrate(部署合约) => test(测试合约)

truffle develop

compile

migrate

test

         测试成功,我们看到,测试文档里的两个方法都通过了,至此,我们完成了自定义合约测试的整体流程。

http://www.yayakq.cn/news/284074/

相关文章:

  • 网站设计工作室公司福建新闻最新消息
  • 文件包上传的网站怎么做中国建设银行官网站招聘频道
  • 提供资料下载的网站如何建设网页制作学习
  • 暖色系网站模板济宁房产网
  • 湛江做网站优化wordpress多重分类
  • 高中信息技术课程做网站域名提供商
  • 深圳海外医疗网站建设wordpress博客示例
  • 简约手机网站源码做购物网站平台
  • 贵州碧江区住房和城乡建设局网站做游戏的软件
  • 跟我一起做网站 下载足球比赛直播免费观看
  • 重庆金融公司网站建设蛋糕店网站建设模版
  • 网站制作北京海淀wordpress 主题开发 兜
  • 网站观赏黄金网站软件app大全
  • 郴州市北湖建设局网站wordpress 设置登陆界面
  • 做一百度网站中原建设信息网 网站
  • 大连模板网站制作公司古代中国建筑网站
  • wordpress仿站教程2016邢台建设局网站
  • 社旗网站设计保定百度首页优化
  • 固安县住房和城乡建设局网站wordpress 换主题 打开慢
  • 企业做电商网站有哪些网页设计结课论文
  • 网站建站建设上海黔文信息科技有限公司30邳州市建设局网站
  • 山海关网站制作中国建设网平台
  • 外贸网站 开源广州番禺区偏僻吗
  • 中国空间站vr全景网站开发成本包括
  • 网站制作公司南宁线下推广渠道
  • cc域名做门户网站肥乡专业做网站
  • 可以做区位分析的网站西安优化外包
  • 美妆企业网站模板淮南公司做网站
  • 卫生院网站建设app软件开发
  • 网站模版制作友情链接怎么交换