title: Mock private static final field using mockito or Jmockit
body: <p>I am using <strong>private static final LOGGER</strong> field in my class and I want <strong>LOGGER.isInfoEnabled()</strong> method to return <strong>false</strong>.
  How can I mock the static final field by using mockito or jMockit</p>
  
  <p>My class is:</p>
  
  <pre><code>  import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
  
    public class Class1 {
  
    private static final Logger LOGGER = LoggerFactory.getLogger(Class1.class);
  
      public boolean demoMethod() {
         System.out.println("Demo started");
         if (LOGGER.isInfoEnabled()) {
           System.out.println("@@@@@@@@@@@@@@ ------- info is enabled");
         } else {
           System.out.println("info is disabled");
         }
         return LOGGER.isInfoEnabled();
      }
    }
  </code></pre>
  
  <p>and its junit is :</p>
  
  <pre><code>import mockit.Mocked;
  import mockit.NonStrictExpectations;
  import org.mockito.InjectMocks;
  import org.mockito.MockitoAnnotations;
  import org.slf4j.Logger;
  import org.testng.annotations.BeforeMethod;
  import org.testng.annotations.Test;
  
  import static org.testng.Assert.*;
  import com.source.Class1;
  
  public class MyTest {
  
    @InjectMocks
    Class1 cls1;
  
    @BeforeMethod
    public void initMocks() {
      MockitoAnnotations.initMocks(this);
    }
  
    @Test
    public void test(@Mocked final Logger LOGGER) {
  
      new NonStrictExpectations() {
        {
          LOGGER.isInfoEnabled();
          result = false;
        }
      };
      assertFalse(cls1.demoMethod());
    }
  }
  </code></pre>
  
  <p>when I run it the result is:</p>
  
  <pre><code>-------------------------------------------------------
   T E S T S
  -------------------------------------------------------
  Running com.test.MyTest
  Configuring TestNG with: TestNG652Configurator
  Demo started
  @@@@@@@@@@@@@@ ------- info is enabled
  Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.9 sec &lt;&lt;&lt; FAILURE! - in com.test.MyTest
  test(com.test.MyTest)  Time elapsed: 0.168 sec  &lt;&lt;&lt; FAILURE!
  java.lang.AssertionError: expected [false] but found [true]
          at com.test.MyTest.test(MyTest.java:35)
  
  
  Results :
  
  Failed tests:
    MyTest.test:35 expected [false] but found [true]
  
  Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
  
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD FAILURE
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 9.899s
  [INFO] Finished at: Mon Jun 08 12:35:36 IST 2015
  [INFO] Final Memory: 16M/166M
  [INFO] ------------------------------------------------------------------------
  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project JMockDemo: The
  re are test failures.
  [ERROR]
  [ERROR] Please refer to D:\perfoce_code\workspace_kepler\JMockDemo\target\surefire-reports for the individual test results.
  [ERROR] -&gt; [Help 1]
  [ERROR]
  [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
  [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  [ERROR]
  [ERROR] For more information about the errors and possible solutions, please read the following articles:
  [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
  </code></pre>
  
  <p>I am new to jmockit and I want my above junit case to run successfully.
  And I have to use JMockit or mockito, can't use Powermockito.
  Please help.</p>