Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Accumulo >> mail # dev >> Using powermock-api-mockito in tests?


+
David Medinets 2013-03-21, 20:59
+
dlmarion@... 2013-03-21, 21:11
Copy link to this message
-
RE: Using powermock-api-mockito in tests?
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.
+
David Medinets 2013-03-22, 01:26
+
dlmarion@... 2013-03-22, 01:44
+
Josh Elser 2013-03-21, 22:43
+
Dave Marion 2013-03-21, 23:11
+
dlmarion@... 2013-03-22, 01:50
+
David Medinets 2013-03-22, 01:58
+
dlmarion@... 2013-03-22, 02:03
+
David Medinets 2013-03-22, 02:08
+
dlmarion@... 2013-03-22, 02:16
+
Keith Turner 2013-03-22, 14:11
+
Jim Klucar 2013-03-22, 14:42
+
David Medinets 2013-03-22, 21:42
+
Dave Marion 2013-03-22, 22:48
+
David Medinets 2013-03-22, 23:54