浅谈:swap数字货币交易所系统开发代码呈现方案(成熟源码)
2023-06-13 09:13:58 时间
测试用例
const path = require('path');
const assert = require('assert');
const Web3 = require('web3')
const ganache = require('ganache-cli')
//const BigNumber = require('bignumber.js')
const web3 = new Web3(ganache.provider())
// 引入合约的json
const CourseList = require(path.resolve(__dirname, '../src/compiled/CourseList.json'))
const Course = require(path.resolve(__dirname, '../src/compiled/Course.json'))
// 定义几个全局变量,所有测试都需要
let accounts
// 实例
let courseList
let course
describe('测试课程的智能', () => {
before(async () => {
// 测试前的数据初始化
accounts = await web3.eth.getAccounts()
console.log(accounts)
// 1. 虚拟部署一个合约
courseList = await new web3.eth.Contract(JSON.parse(CourseList.interface))
.deploy({ data: CourseList.bytecode })
.send({
// 最后一个是创建者——重点
from: accounts[9],
gas: '5000000'
})
})
it('合约部署成功', () => {
assert.ok(courseList.options.address)
})
it('测试添加课程', async () => {
const oldaddress = await courseList.methods.getCourse().call()
assert.equal(oldaddress.length, 0)
await courseList.methods.createCourse(
'蜗牛的React课程'
)
.send({
from: accounts[0],
gas: '5000000'
})
const address = await courseList.methods.getCourse().call()
assert.equal(address.length, 1)
console.log(address)
})
it("添加课程的属性", async () => {
const [address] = await courseList.methods.getCourse().call()
// 添加的课程合约的地址
course = await new web3.eth.Contract(JSON.parse(Course.interface), address)
const name = await course.methods.name().call()
assert.equal(name, '蜗牛的React课程')
})
//删除功能
it("只能ceo能删", async () => {
await courseList.methods.createCourse(
'蜗牛的Vue课程'
)
.send({
from: accounts[0],
gas: '5000000'
})
const address = await courseList.methods.getCourse().call()
assert.equal(address.length, 2)
await courseList.methods.removeCourse(0).send({
from:accounts[9],
gas:'5000000'
})
const address1 = await courseList.methods.getCourse().call()
console.log(address1)
assert.equal(address1.length,1)
})
})
5.6 发现bug
solidity提供的delete()方法删除了地址账号后,不是清除数据,而是将数据清0.
所以得修改合约里的方法
相关文章
- 进销存软件开源java_JSH_ERP 开源版J2EE进销存系统代码源码 v1.0.2「建议收藏」
- 网站在线客服系统源码|在线客服代码下载 (2021最新版)「建议收藏」
- 开源在线客服系统源码h5|thinkphp在线客服完整源码|网页在线客服源码
- .netcore大型商城系统源码_前后端完全分离_高并发支持_八大数据库
- 客服客户聊天系统源码分享[通俗易懂]
- 物联网流量卡管理系统源码_物联网数据管理系统结构
- 网站在线客服系统源码 | 全渠道在线客服代码下载 (最新版支持外贸商城/H5/小程序/公众号对接)
- vue源码分析-响应式系统(二)_2023-02-28
- FDF智能合约互助公排游戏系统开发源码技术讲解
- 【安全算法之SHA256】SHA256摘要运算的C语言源码实现
- react源码分析之协调与调度
- 佛萨奇DAPP开发丨佛萨奇2.0系统开发详情丨佛萨奇2.0智能合约系统开发原理及源码
- android 系统浏览器 源码-Android 最最最简单的浏览器代码
- React源码解读之更新的创建5
- Java实验课预约系统网站源码
- react源码中的生命周期和事件系统_2023-02-06
- 量化交易系统开发代码部署方案丨合约量化系统开发技术成熟源码流程
- React源码分析(二)渲染机制_2023-02-19
- H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程
- Spring源码核心知识点凝练总结
- 黑色简约多功能工具箱去水印外卖流量主小程序源码
- 医院实验室LIS系统源码,采用.Net Core开发
- “Linux内核源码轻松浏览:顶尖查看工具推荐”(linux源码查看工具)