title: Unmock function after mockimplementation
body: <p>I'm having a bit of trouble unmocking a function.</p>
  <p>I first mock it and now I can't unmock it</p>
  <pre><code>//myClass.js
  class myClass {
  
      static check(v1,v2) {
          return v1 &gt; v2;
      }
  
      static async getinfo(v1,v2) {
          if (this.check(v1,v2)) {
              return await get('api.google.com');
          }
          return [];
      }
  }
  
  
  //myclass.spec.js
  describe('Testing myClass', () =&gt; {
      describe('testing processing', () =&gt; {
          it('should return result', () =&gt; {
                const mockPatch = jest.fn().mockImplementation((version, solution) =&gt; false);
                myClass.check = mockCheck;
                try {
                  const result = await myClass.getinfo(1,2);
                  expect(result).toBe.([]);
                }catch(e) {
                  throw e;
                }
          })
      })
      describe('Testing check', () =&gt; {
          it('should return true', () =&gt; {
              expect(myClass.check(2,1)).toBe.true
          })
      })
  })
  </code></pre>
  <p>I already try with</p>
  <p><code>myClass.check.mockRestore()</code></p>
  <p><code>beforeEach(() =&gt; {myClass.check.mockRestore()})</code></p>
  <p><code>jest.unmock('./myClass.js)</code></p>
  <p>Is there anyway I can solve this? I read all the jest doc and i couldn't find anything</p>