Nethereum C# 单元测试 GetTransactionCount
Nethereum C# Unit Test GetTransactionCount
Nethereum 使用异步方法获取地址的 TransactionCount
。
我已将该方法放入异步任务中:
public async Task<object> GetTxCount(string address)
{
return await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
}
并尝试用...测试它
[TestMethod]
public async Task TestMethodAsync()
{
string address = "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae";
EthTest.Eth et = new EthTest.Eth();
var encoded = et.GetTxCount(address);
encoded.Wait();
}
我应该如何从单元测试中调用 GetTxCount
以获得实际结果。
我已经使用了"wait"命令,尽管不推荐,但仍然无法得到return结果。
单元测试失败了——它甚至没有命中 Nethereum 调用的 API。
您已经使测试异步,然后通过使用 await 调用一直使用异步 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);
}
或
public async Task<HexBigInteger> GetTxCount(string address) {
var result = await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
return result.
}
Nethereum 使用异步方法获取地址的 TransactionCount
。
我已将该方法放入异步任务中:
public async Task<object> GetTxCount(string address)
{
return await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
}
并尝试用...测试它
[TestMethod]
public async Task TestMethodAsync()
{
string address = "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae";
EthTest.Eth et = new EthTest.Eth();
var encoded = et.GetTxCount(address);
encoded.Wait();
}
我应该如何从单元测试中调用 GetTxCount
以获得实际结果。
我已经使用了"wait"命令,尽管不推荐,但仍然无法得到return结果。
单元测试失败了——它甚至没有命中 Nethereum 调用的 API。
您已经使测试异步,然后通过使用 await 调用一直使用异步 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);
}
或
public async Task<HexBigInteger> GetTxCount(string address) {
var result = await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(address).ConfigureAwait(false);
return result.
}