             instance =
                 filters: []
                 before: ->
-                    setTimeout ->
+                    setImmediate ->
                         throw beforeError
-                    , 10
             runner.run instance, 10000, (e) ->
                 expect(e).to.be beforeError
                 done()

            aFilter =
                afterTimeout: (callback) ->
                    callback()
                    setTimeout ->
                        done()
                    , 30
                before: ->
                    # The callback is not called, so the B filter will never execute
                    # Therefore bFilter.afterTimeout() should also not be called!
            bFilter =
                afterTimeout: -> expect.fail()
            controller =
                method: 'get'
                filters: [aFilter, bFilter]
                get: -> expect.fail()

            runner.run controller, 100, (error) ->
                expect(error.name).to.be 'Timeout'

                after: ->
                    done()
            runner.run instance, 10000, ->
                expect().fail()

        it 'should call the get() method if the instance has the method property defined as "get"', (done) ->
            instance =
