之前的文章以太坊 Truffle 合約創(chuàng)建 編譯 遷移介紹了 Truffle 創(chuàng)建部署合約玷过,下面在此基礎(chǔ)上實(shí)踐 Truffle javascript 版單元測(cè)試人乓。
1. 創(chuàng)建測(cè)試文件
test/storage.js :
var Storage = artifacts.require("Storage");
contract('Storage', function (accounts){
// --- test get
it('get storedData', function (){
var storageInstance;
return Storage.deployed().then(function (instance){
storageInstance = instance;
return storageInstance.get.call();
}).then(function(storedData){
assert.equal(storedData, 0, "storedData equal zero");
});
});
// --- test set
it('set 100 in storedData', function(){
var storageInstance;
return Storage.deployed().then(function (instance){
storageInstance = instance;
return storageInstance.set(100);
}).then(function (){
return storageInstance.get.call();
}).then(function (storedData){
assert.equal(storedData, 100, "100 wasn't in storedData");
});
});
});
2. 執(zhí)行測(cè)試
$ truffle test
Using network 'development'.
Contract: Storage
? get storedData
? set 100 in storedData (43ms)
2 passing (82ms)