Out of curiosity, why do you say that " System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest?" It's worked fine for a while. What is different now?
-- Dave -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: Thursday, March 21, 2013 5:12 PM To: [email protected] Subject: Re: Using powermock-api-mockito in tests? We can do it with PowerMock, no need to add Mockito. This should work, going from memory here. I should be able to help when I get back to a computer if you have problems. //Mock the method PowerMock.mockStatic(System.class, System.class.getMethod("getenv")); //Invoke it Map<String, String> mockSystemProperties = new HashMap<String, String>(); mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME")); EasyMock.expect(System.getenv()).andReturn(mockSystemProperties); ----- Original Message ----- From: "David Medinets" <[email protected]> To: "accumulo-dev" <[email protected]> Sent: Thursday, March 21, 2013 4:59:40 PM Subject: Using powermock-api-mockito in tests? Is there any reason why I should not add a dependency in start/pom.xml to powermock-api-mockito? With this library, we can mock the call to System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest. The two tests need these four lines of setup in order to pass: Map<String, String> mockSystemProperties = new HashMap<String, String>(); mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME")); PowerMockito.mockStatic(System.class); Mockito.when(System.getenv()).thenReturn(mockSystemProperties); You'll notice that set ACCUMULO_HOME is set to the value of HOME to make the test cross-platform.
