我正在使用Web3j
和Keystore
在Android(+ RxJava)中创建一个新帐户:
@Override
public Single<Wallet> createWalletAndReturnWallet(String password) {
return Single.fromCallable(()->{
Account account = keyStore.newAccount(password);
return new Wallet(account.getAddress().getHex());
}).subscribeOn(Schedulers.io());
}
然后我从AndroidInstrumentedTest运行该方法:
@Test
public void createWalletAndReturnWallet() {
TestObserver<Wallet> testObserver = TestObserver.create();
keyStoreService.createWalletAndReturnWallet("password123").subscribe(testObserver);
testObserver.assertSubscribed();
}
从日志记录中,我可以看到根本没有创建新帐户。该方法将运行,但是不会创建任何帐户并将其添加到密钥库。我再次运行测试以再次检查密钥库,它完全为空。
任何可以帮助我了解其行为的人吗?