### Question:
Web3UscImpl extends Web3Impl { public void ext_dumpState() { Block bestBlcock = blockStore.getBestBlock(); logger.info("Dumping state for block hash {}, block number {}", bestBlcock.getHash(), bestBlcock.getNumber()); networkStateExporter.exportStatus(System.getProperty("user.dir") + "/" + "uscdump.json"); } Web3UscImpl(Ethereum eth,
                       Blockchain blockchain,
                       TransactionPool transactionPool,
                       UscSystemProperties properties,
                       MinerClient minerClient,
                       MinerServer minerServer,
                       PersonalModule personalModule,
                       EthModule ethModule,
                       TxPoolModule txPoolModule,
                       MnrModule mnrModule,
                       DebugModule debugModule,
                       ChannelManager channelManager,
                       Repository repository,
                       PeerScoringManager peerScoringManager,
                       NetworkStateExporter networkStateExporter,
                       BlockStore blockStore,
                       ReceiptStore receiptStore,
                       PeerServer peerServer,
                       BlockProcessor nodeBlockProcessor,
                       HashRateCalculator hashRateCalculator,
                       ConfigCapabilities configCapabilities); void ext_dumpState(); void ext_dumpBlockchain(long numberOfBlocks, boolean includeUncles);  }### Answer:
@Test public void web3_ext_dumpState() throws Exception { Usc usc = Mockito.mock(Usc.class); Blockchain blockchain = Mockito.mock(Blockchain.class); NetworkStateExporter networkStateExporter = Mockito.mock(NetworkStateExporter.class); Mockito.when(networkStateExporter.exportStatus(Mockito.anyString())).thenReturn(true); Block block = Mockito.mock(Block.class); Mockito.when(block.getHash()).thenReturn(PegTestUtils.createHash3()); Mockito.when(block.getNumber()).thenReturn(1L); BlockStore blockStore = Mockito.mock(BlockStore.class); Mockito.when(blockStore.getBestBlock()).thenReturn(block); Mockito.when(networkStateExporter.exportStatus(Mockito.anyString())).thenReturn(true); Mockito.when(blockchain.getBestBlock()).thenReturn(block); Wallet wallet = WalletFactory.createWallet(); TestSystemProperties config = new TestSystemProperties(); PersonalModule pm = new PersonalModuleWalletEnabled(config, usc, wallet, null); EthModule em = new EthModule(config, blockchain, null, new ExecutionBlockRetriever(blockchain, null, null), new EthModuleSolidityDisabled(), new EthModuleWalletEnabled(config, usc, wallet, null)); TxPoolModule tpm = new TxPoolModuleImpl(Web3Mocks.getMockTransactionPool()); DebugModule dm = new DebugModuleImpl(Web3Mocks.getMockMessageHandler()); Web3UscImpl web3 = new Web3UscImpl( usc, blockchain, Web3Mocks.getMockTransactionPool(), config, Web3Mocks.getMockMinerClient(), Web3Mocks.getMockMinerServer(), pm, em, tpm, null, dm, Web3Mocks.getMockChannelManager(), Web3Mocks.getMockRepository(), null, networkStateExporter, blockStore, null, null, null, null, null ); web3.ext_dumpState(); }