testIterator = async (initiator, idx) => {
      if (idx >= suite.tests.length) {
        return true
      }
      return await initiator(initiator, suite.tests[idx], idx)
    }
@param {function} initiator Function to begin the test process--`startTest`
@param {number} idx Index of the current test run
@returns {Promise<*|boolean>} resolves to the return value of the recursive chain of
  initiators (`startTest`) and returned functions (`afterTestRuns`)