Nethereum C#单元测试GetTransactionCount
Nethereum使用异步方法获取地址的Nethereum C#单元测试GetTransactionCount,c#,unit-testing,ethereum,C#,Unit Testing,Ethereum,Nethereum使用异步方法获取地址的TransactionCount 我已将该方法放入异步任务中: public async Task<object> GetTxCount(string address) { return await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false); } 我应该如何从单元测试调用GetTxCount,以获得
TransactionCount
我已将该方法放入异步任务中:
public async Task<object> GetTxCount(string address)
{
return await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
}
我应该如何从单元测试调用GetTxCount
,以获得实际结果
虽然不推荐使用“wait”命令,但仍然无法让它返回结果
单元测试爆炸了-它甚至没有击中Nethereum调用的API。您已经使测试异步,然后使用wait to call
GetTxCount
[TestMethod]
public async Task TestMethodAsync() {
string address = "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae";
var et = new EthTest.Eth();
var encoded = await et.GetTxCount(address);
}
如果GetTxCount
只是返回任务,那么实际上不需要在方法中等待它
重构到
public Task<HexBigInteger> GetTxCount(string address) {
return web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address);
}
公共任务GetTxCount(字符串地址){
返回web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(地址);
}
或
公共异步任务GetTxCount(字符串地址){
var result=wait web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(地址).ConfigureWait(假);
返回结果。
}
参考文献
public Task<HexBigInteger> GetTxCount(string address) {
return web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address);
}
public async Task<HexBigInteger> GetTxCount(string address) {
var result = await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
return result.
}