FISCOBCOS入门(十)Truffle自定义测试helloworld

news2024/11/25 14:31:56

在windos终端内安装truffle

npm install -g truffle

truffle --version

出现上图情况也没问题

下面就可以进行我们的操作了

创建一个文件truffle

创建一个空工程

truffle init

在contracts内加入HelloWorld合约

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract HelloWorld {
string private greeting;
// 构造函数,设置初始问候语
constructor() {
    greeting = "Hello World";
}

// 获取当前的问候语
function get() public view returns (string memory) {
    return greeting;
}

// 设置新的问候语
function set(string memory newGreeting) public {
    greeting = newGreeting;
}

}

在migration内编写迁移脚本

const HelloWorld = artifacts.require("HelloWorld");

module.exports =  async function (deployer) {
  // 部署 HelloWorld 合约
  await deployer.deploy(HelloWorld);
};

在test文件内添加测试脚本

const Helloworld = artifacts.require("HelloWorld");
contract("HelloWorld", async() => {
    let newData="123";
  
    it("Test helloWorld get", async () => {
      const hello = await Helloworld.deployed();
      let name = await hello.get();
      console.log("init data",name);
        assert.equal(name,"Hello World","Test fail");
      });
      
      it("Test helloWorld set", async () => {
        const hello = await Helloworld.deployed();
      
       
        await hello.set(newData);
      
      
      });
      
      it("Test HelloWorld get2", async () => {
      
        const hello = await Helloworld.deployed();
        let name = await hello.get();
       
        console.log("Updated data:", name);     
        assert.equal(name,"123","Test fail");
      });
  
});

更改文件truffle-config.js

文件总览

开始正式测试,测试的顺序为:truffle develop(启用测试网络) => compile(编译合约) => migrate(部署合约) => test(测试合约)

部署

truffle develop

compile

migrate

测试(truffle test)

测试成功,别看流程这么简单,中间解决好多报错,用用一键三连,学习更多查看我的其它博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1217351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

瑞吉外卖Day05

1.新增套餐 service层 Service public class SetmealServiceImpl extends ServiceImpl<SetmealMapper, Setmeal> implements SetmealService {Autowiredprivate SetmealDishService setmealDishService;/*** 新增套餐&#xff0c;同时保存套餐和菜品的关系** param set…

【你哥电力电子】从耦合电感到变压器

从耦合电感到变压器 2023年7月12日 dk 文章目录 从耦合电感到变压器1. 耦合电感1.1 一个等效1.2 自感、互感与漏感1.3 耦合系数2. 变压器3. 其他模型的推导方法3.1 T型等效电路3.2 其他等效电路4. 小结下链1. 耦合电感 1.1 一个等效 通电导线的周围会产生磁场,磁场可以通过…

IntelliJ IDE 插件开发 |(一)快速入门

前言 IntelliJ IDEA 作为 Java 开发的首选 IDE&#xff0c;其强大、方便之处不必多说。不过&#xff0c;由于个人或者团队的个性化需求&#xff0c;我们或多或少会想对其功能进行拓展&#xff0c;这时就需要开发插件&#xff08;在 IntelliJ 平台下的所有 IDE 均可运行&#x…

SpringBoot配置数据库密码加密的方法

由于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下springboot配置数据库密码加密的方法,下面话不多说了,来一起看看详细的介绍吧,需要的朋友可以参考下 1.导入依赖 <!--数据库密码加密--> <dependency><groupId>com.github.uli…

Greek Alphabet Letters Symbols

Upper CaseLower CaseGreek Letter NameEnglish EquivalentSoundΑαAlphaa ΒβBetab ΓγGammag ΔδDeltad ΕεEpsilone ΖζZetaz ΗηEtah ΘθThetath ΙιIotai ΚκKappak ΛλLambdal ΜμMum ΝνNun ΞξXix ΟοOmicrono ΠπPip ΡρRhor Σσ,…

Apache SCXML2 RCE漏洞

文章目录 前言源码利用上传恶意xml文件构造payload搭建Apache服务器 远程RCE 前言 在做 [HDCTF 2023]BabyJxVx 遇到的知识点&#xff0c;但是没公网的服务器只能作罢&#xff0c;写下这篇文章记录 源码利用 public String Flag(RequestParam(required true) String filenam…

Leetcode刷题详解——扫雷游戏

1. 题目链接&#xff1a;529. 扫雷游戏 2. 题目描述&#xff1a; 让我们一起来玩扫雷游戏&#xff01; 给你一个大小为 m x n 二维字符矩阵 board &#xff0c;表示扫雷游戏的盘面&#xff0c;其中&#xff1a; M 代表一个 未挖出的 地雷&#xff0c;E 代表一个 未挖出的 空方…

基于django电影推荐系统

基于django电影推荐系统 摘要 该Django电影推荐系统是一个简单而基础的框架&#xff0c;旨在展示系统的基本组件。系统包括两个主要模型&#xff0c;即Movie和Rating&#xff0c;用于存储电影信息和用户评分。视图层包括展示电影列表和电影详情的功能&#xff0c;使用模板进行页…

linux高级篇基础理论二(详细文档、LAMP、SHELL、sed正则表达式)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xff1a;云计算技…

大数据架构Lambda-架构师(六十九)

随着信息时代技术的发展&#xff0c;数据量的快速增加逐渐飙升到了惊人的数量级别。并且数据的采集与处理技术还在更新加快。大数据中&#xff0c;结构化占比百分之15左右&#xff0c;其余百分之85都是非结构化数据&#xff0c;他们大量存在于社交网络、互联网和电子商务等领域…

深入理解锁

目录 常用锁策略 1.乐观锁 VS 悲观锁 2.轻量级锁 VS 重量级锁 3.自旋锁 VS 挂起等待锁 4.互斥锁 VS 读写锁 5.公平锁 VS 非公平锁 6.可重入锁 VS 可重入锁 CAS ABA问题 Synchronized原理 1. 锁升级/锁膨胀 2.锁消除 3.锁粗化 常用锁策略 1.乐观锁 VS 悲观锁 站在…

【Java实现图书管理系统】

图书管理系统 1. 设计背景2. 设计思路3. 模块展示代码演示3.1 Book类3.2 BookList类&#xff08;书架类&#xff09;3.4 用户类 - User类3.5 子类管理员类 -- AdminUser类3.6 子类普通用户类 -- NormalUser类3.7 操作接口3.8 操作类3.8.1 查找操作 -- FindOperation类3.8.2 增加…

PostgreSQL基于Citus实现的分布式集群

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

LCD1602指定位置显示字符串-详细版

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

Hive数据表操作--学习笔记

1&#xff0c;Hive数据表操作 1&#xff0c;建表语句和内外部表 ①创建内部表 create [external] table [if not exists] 表名( 字段名 字段类型 [comment 注释], 字段名 字段类型 [comment 注释], ... ) [row format delimited fields terminated by 指定分隔符];&#xff0…

深度学习之基于YoloV5血红细胞检测识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习已经在许多领域中得到了广泛的应用&#xff0c;包括医疗健康领域。其中&#xff0c;YOLO&#xff08;You O…

App加固中的代码混淆功能,让逆向工程师很头疼

App加固中的代码混淆功能&#xff0c;让逆向工程师很头疼 “我想离开浪浪山。” 在数次尝试破解某个App 时&#xff0c;某个逆向工程师无奈感慨道。 逆向工程师顾名思义就是把一个个完整的软件逆推&#xff0c;还原成一段段代码&#xff0c;方便破解。 比如给他们一个手机Ap…

行内样式、内部样式、外部样式

行内样式&#xff1a; 该元素的所在本行中使用style标记来写样式 内部样式&#xff1a; 在head标签中使用style标记来写样式 外部样式&#xff1a; 在head标签中使用link标记引用外部样式 注意优先级&#xff1a; 行内样式&#xff1e;内部样式&#xff1e;外部样式 代码…

ChatGPT简介及基本概念

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC &#x1f449;关于作者 专…

传输层——— UDP协议

文章目录 一.传输层1.再谈端口号2.端口号范围划分3.认识知名端口号4.两个问题5.netstat与iostat6.pidof 二.UDP协议1.UDP协议格式2.UDP协议的特点3.面向数据报4.UDP的缓冲区5.UDP使用注意事项6.基于UDP的应用层协议 一.传输层 在学习HTTP等应用层协议时&#xff0c;为了便于理…