David is trying to build on Windows.

On 03/21/2013 06:40 PM, Dave Marion wrote:
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.


Reply via email to