上文 Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進行測試中 我們講解了部署智能合約 然后在終端測試的方法
但上文那種終端測試 其實并不保險 而且也比較不專業(yè)
對于這個 有一個mocha測試 這是基于node部署環(huán)境的一種環(huán)境測試 但是這個需要一定的基礎 大家可以專門去學一下
還有就是 今天要說的 truffle 腳本
他是一個腳本執(zhí)行器
先打開我們的 Truffle項目
在根目錄下創(chuàng)建一個文件夾,這個其實叫什么都可以。
我這里 直接叫 scripts
然后 里面直接放腳本 js文件 名字隨便起
我這里直接叫 test.js
然后 我們這里的腳本是有一個引入的操作
直接將上面這句也拿到我們腳本js中
const Contacts = artifacts.require("StudentStorage.sol")
module.exports = function(callback) {
console.log("腳本執(zhí)行");
callback()
}
當然 我們先不急著去用 還是先讓它跑起來
然后 我們以管理員身份打開項目終端 輸入
truffle exec 需要執(zhí)行的腳本路徑
那么 我這個顯然就是
truffle exec .\scripts\test.js
然后 我們剛剛寫的腳本就跑起來了
那么 確認沒問題之后 我們就可以寫我們真的想看的東西了
我們先將test.js的代碼改成這樣
const Contacts = artifacts.require("StudentStorage.sol")
module.exports = async function(callback) {
const studentStorage = await Contacts.deployed();
callback()
}
這里 我們給方法定上了async 然后 await 異步等待ontacts.deployed
智能合約實例化
然后 等待完成 就拿到這個合約的實例了
然后 我們進一步去寫
await studentStorage.setData(11,"天山派掌門");
const res = await studentStorage.getData();
console.log(res);
我們利用拿到的合約對象 去調用其中的 set方法賦值 然后 調用get獲取數據 他們都是異步的 所以 要加一個await 讓他們執(zhí)行完成之后 再繼續(xù)往下
最后拿到get取回來的值 然后輸出在控制臺上
然后 我們還是先終端執(zhí)行
truffle migrate
將合約部署到區(qū)塊鏈中
然后 再次運行文章來源:http://www.zghlxwxcb.cn/news/detail-644974.html
truffle exec .\scripts\test.js
去操作合約
可以看到 我們的數據就正常展示了文章來源地址http://www.zghlxwxcb.cn/news/detail-644974.html
到了這里,關于Web3 通過truffle 腳本進行智能合約測試的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!