code: function (specTitle, specFn, origFn, repeatTest = 0) {
      /**
       * user wants handle async command using promises, no need to wrap in fiber context
       */
      if (specFn.name === 'async') {
          return origFn(specTitle, function async (...specArgs) {
              return executeAsync.call(this, specFn, repeatTest, filterSpecArgs(specArgs))
          })
      }
  
      return origFn(specTitle, function (...specArgs) {
          return new Promise(runSync.call(this, specFn, repeatTest, filterSpecArgs(specArgs)))
      })
  }
docs: runs a spec function (test function) within the fibers context
  @param  {string}   specTitle   test description
  @param  {Function} specFn      test function that got passed in from the user
  @param  {Function} origFn      original framework test function
  @param  {Number}   repeatTest  number of retries if test fails
  @return {Function}             wrapped test function