title: Jest globalTeardown not run after test is failed
body: <p>I am trying to start and stop serverless application through code. I am able to start and stop it once all tests pass. However when test fails <code>globalTeardown</code> do not run. You can check sample project here: <a href="https://github.com/bilalsha/sls-test-jest/tree/fail_test" rel="noreferrer">https://github.com/bilalsha/sls-test-jest/tree/fail_test</a></p>
  
  <p><code>teardown.js</code></p>
  
  <pre><code>module.exports = async function() {
      let slsOfflineProcess = global.__SERVERD__;
      slsOfflineProcess.stdin.write('q\n');
      slsOfflineProcess.stdin.pause();
      await slsOfflineProcess.kill('SIGINT');
      console.log('Serverless Offline stopped');
  };
  
  </code></pre>
  
  <p><code>output</code></p>
  
  <pre><code>      7 |              expect(res.statusCode).toEqual(200);
      &gt;  8 |              expect(res.body).toEqual('Go Serverless v1.0! Your function executed successfully!');
           |                               ^
         9 |      });
        10 | });
        11 | 
  
        at Object.&lt;anonymous&gt; (handler.test.js:8:20)
  
  Test Suites: 1 failed, 1 total
  Tests:       1 failed, 1 total
  Snapshots:   0 total
  Time:        1.972s, estimated 2s
  Ran all test suites.
  npm ERR! Test failed.  See above for more details.
  </code></pre>