         XCTAssertEqual(result.value, singleThrowsExpected)
         //XCTAssertEqualWithAccuracy(0.1, result.seconds, accuracy: 0.25)
     }
+    
+    func testSerialFieldExecutionStrategyWithSingleFieldFailedFuture() throws {
+        let eventLoopGroup = MultiThreadedEventLoopGroup(numThreads: 1)
+        defer {
+            XCTAssertNoThrow(try eventLoopGroup.syncShutdownGracefully())
+        }
+        
+        let result = try timing(try graphql(
+            queryStrategy: SerialFieldExecutionStrategy(),
+            schema: schema,
+            request: singleFailedFutureQuery,
+            eventLoopGroup: eventLoopGroup
+            ).wait())
+        XCTAssertEqual(result.value, singleFailedFutureExpected)
+        //XCTAssertEqualWithAccuracy(0.1, result.seconds, accuracy: 0.25)
+    }
 
     func testSerialFieldExecutionStrategyWithMultipleFields() throws {
         let eventLoopGroup = MultiThreadedEventLoopGroup(numThreads: 1)

                            msg: "\(info.fieldName): \(info.path.last as! String)"
                        )
                }
                )
            ]
        )

        return [
            ("testSerialFieldExecutionStrategyWithSingleField", testSerialFieldExecutionStrategyWithSingleField),
            ("testSerialFieldExecutionStrategyWithSingleFieldError", testSerialFieldExecutionStrategyWithSingleFieldError),
            ("testSerialFieldExecutionStrategyWithSingleFieldFailedFuture", testSerialFieldExecutionStrategyWithSingleFieldFailedFuture),
            ("testSerialFieldExecutionStrategyWithMultipleFields", testSerialFieldExecutionStrategyWithMultipleFields),
            ("testSerialFieldExecutionStrategyWithMultipleFieldErrors", testSerialFieldExecutionStrategyWithMultipleFieldErrors),
            ("testConcurrentDispatchFieldExecutionStrategyWithSingleField", testConcurrentDispatchFieldExecutionStrategyWithSingleField),
