         
         // if routes are in process and a manual nav event was attempted, it's ignore it and continue on.
         if !fromRouter && Router.sharedInstance.processing {
-            exceptionFailure("Attempted to push a ViewController while routes were being processed!")
+            if !isInUnitTest() {
+                exceptionFailure("Attempted to push a ViewController while routes were being processed!")
+            }
             return
         }
         


        // if routes are in process and a manual nav event was attempted, it's ignore it and continue on.
        if !fromRouter && Router.sharedInstance.processing {
            exceptionFailure("Attempted to present a ViewController while routes were being processed!")
            return
        }
        

    internal func performSegueWithIdentifier(identifier: String, sender: AnyObject?, fromController: UIViewController, fromRouter: Bool) {
        // if routes are in process and a manual nav event was attempted, it's ignore it and continue on.
        if !fromRouter && Router.sharedInstance.processing {
            if !isInUnitTest() {
                exceptionFailure("Attempted to perform a segue while routes were being processed!")
            }

            return
        }

