首页 > 其他分享 >blockchain | 使用truffle测试合约

blockchain | 使用truffle测试合约

时间:2023-04-06 09:11:59浏览次数:48  
标签:const await blockchain value mzContract 测试 truffle

blockchain | 使用truffle测试合约

使用truffle test功能对之前的合约进行测试
参考:https://www.qikegu.com/docs/4816

本质上的过程还是部署到测试链子上,然后进行一系列操作。
如果要临时环境还可以用truffle develop进行创建:https://learnblockchain.cn/docs/truffle/quickstart.html#testing
image

测试代码如下【教程中的代码少了await,可能会失败】:

// 首先,`require`合约并将其分配给一个变量`MyContract`
const MzContract = artifacts.require('./MzContract.sol');

// 调用“contract”函数,并在回调函数中编写所有测试
// 回调函数提供一个“accounts”变量,表示本地区块链上的所有帐户。
contract('MzContract', (accounts) => {

    // 第1个测试:调用get()函数,检查返回值,测试合约中value初始值是否是: 'hello mz'
    it('initializes with the correct value', async () => {
        // 获取合约实例
        const mzContract = await MzContract.deployed()
        const value = await mzContract.get()
        // 使用断言测试value的值
        assert.equal(value, 'hello mz')
    })

    // 第2个测试: 调用set()函数来设置value值,然后调用get()函数来确保更新了值
    it('can update the value', async () => {
        const mzContract = await MzContract.deployed()
        await mzContract.set('New Value');           // 这里异步需要等待,否则还没有进行交易就过去了。
        const value = await mzContract.get()
        assert.equal(value, 'New Value')
    })
})

测试通过:
image

标签:const,await,blockchain,value,mzContract,测试,truffle
From: https://www.cnblogs.com/Mz1-rc/p/17291582.html

相关文章

  • 测试啊
    测试111TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianChineseTraditionalIndonesianSlovakCzechItalianSlovenianDanishJapaneseSpanish......
  • fFFmpeg 命令、案例、测试集中营
    gitbook:https://www.gitbook.com/book/xdsnet/other-doc-cn-ffmpeg/detailsffmpeg[全局选项]{[输入文件选项]-i输入文件}...{[输出文件选项]输出文件}...ffmpeg[global_options]{[input_file_options]-iinput_file}...{[output_file_options]output_file}.........
  • 渗透测试——简单的流程化信息收集
    简单的流程化信息收集脚本importosimportfnmatchimportsocketimportshutildefcheckcdn(host):ip_list=[]try:addrs=socket.getaddrinfo(host,None)foriteminaddrs:ifitem[4][0]notinip_list:ip......
  • pytest多进程运行用例,缩短测试时间
    -n表示多进程执行用例,如下所示‘2'表示2个进程同时执行用例,数值的确定要根据执行机的cpu核数前置条件:安装pytest-xdist插件,安装命令“pipinstallpytest-xdist注意:每个进程执行的测试用例是随机的,不可控,所以测试用例要解耦1importos23importpytest45#整个项......
  • pytest生成简单测试报告命令,不用安装插件
    --junit-xml=./repot/result.xml生成JunitXML文件可在命令终端输入:pytest./case/test_DS_004.py--junit-xml=./repot/result.xml    --pastebin=all生成在线测试报告可在命令终端输入:pytest./case/test_DS_004.py--pastebin=all ......
  • 一个网站自动化测试程序的设计与实现
    博客不再经常更新,更多优质文章请来粉丝联盟网FansUnion.cn!(FansUnion)代码   代码亮点:可读性很好,注释详尽背景      工作中,在维护一个项目。几个月前开始了后台Java网站的重构。  重构的过程需要不断去运行网站,然后不断去测试。其中,最常见的问题是服务......
  • 《渗透测试》信息打点-公众号服务&Github监控&供应链&网盘泄漏&证书图标邮箱资产 2023
     #微信公众号-获取&三方服务1、获取微信公众号途径https://weixin.sogou.com/2、微信公众号有无第三方服务 #Github监控-开发&配置&源码目标中开发人员或者托管公司上传的项目存在源码泄漏或配置信息(密码密匙等),人员数据库等敏感信息,找到多个脆弱点。1、人员&域名&邮箱......
  • Jenkins持续集成,接口测试报告发送企业微信
    一、前置条件已经安装Jenkins(361.1)已经安装jdk(jdk17)Jdk和Jenkins版本相互兼容二、启动Jenkins(注意不要关闭dos窗口)切换到Jenkins目录,输入命令:java-jarjenkins.war        2.dos窗口出现“Jenkinsisfullyupandrunning”表示启动成功   ......
  • Vulnhub之MoriartyCorp测试过程(部分)
    MoriartyCorp识别目标主机IP地址(kali㉿kali)-[~/Vulnhub/MoriartyCorp]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:Finished!|ScreenView:UniqueHosts......
  • 大数库GMP测试
    大数库GMP测试在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')基于GMP的大数库编写测试代码测试大数运算,计算2的N次......