Truffle
在松露測試中指定交易地址
我想指定我在松露測試中執行交易的地址。
我的測試大概是這樣的:
contract('Test contract', async (accounts) => { let contract; before(async () => { contract = await Contract.new(); }); it("Check something...", async () => { await studentV1.addPerson("Jon", "Doe"); await studentV1.addPerson("Max", "Musterman"); //.... }); });
契約方法的
addPerson(...)
工作原理大致如下:function addPerson(string _firstname, string _lastname) public { persons[msg.sender] = Person(_firstname, _lastname); }
現在我想
await studentV1.addPerson("Jon", "Doe");
用 withaccount[0]
和下面的行呼叫我的測試,account[1]
這樣我的地圖也會得到兩個不同的條目。我怎樣才能做到這一點?預設情況下,truffle test 用於每個事務和呼叫accounts[0]
。我正在使用
truffle develop
在啟動時自動創建 10 個帳戶的鏈。
這是使用帳戶 i 呼叫方法的一般公式:
await contract.yourFuncitonName(arg1,arg2,{ from: accounts[i] })
帳末通知
$$ $$ 你最終得到:
await studentV1.addPerson("Jon", "Doe",{ from: accounts[0] }); await studentV1.addPerson("Max", "Musterman",{ from: accounts[1] });