Open wanbok opened 8 years ago
Are you using the use_frameworks!
option in CocoaPods?
@phatmann Yeah. I've monkey-patched waitForRequestMatchingMocktail
.
func waitForRequestMatching(mocktail mocktail: String, inBundle bundle: NSBundle? = NSBundle.KIFTestBundle(), withHTTPBodyMatchingBlock block: ((NSData, NSErrorPointer) -> KIFTestStepResult)?, andRespondWithValues values: [String: AnyObject]?) {
let response: _AMYMocktailResponse?
let headers: [NSObject: AnyObject]?
let body: NSData?
var errorType = "load mocktail"
do {
response = try _AMYMocktailResponse(fromTail: mocktail, bundle: bundle)
errorType = "generate headers"
headers = try response?.headersWithValues(values)
errorType = "generate body"
body = try response?.bodyWithValues(values)
let request = waitForRequestMatchingBlock { [weak self] (req, error) -> KIFTestStepResult in
return self?.KIFTestWaitCondition(response?.matchesURL(req.URL, method: req.HTTPMethod, patternLength: nil) ?? false, error: error, errorMessage: "Could not find request matching mocktail.") ??
{
block?(req.HTTPBody ?? NSData(), error)
return .Success
}()
}
request.respondWithStatusCode(response?.statusCode ?? 500, headerFields: headers)
request.sendData(body)
request.close()
} catch let error as NSError {
let errorToThrow = NSError(domain: "KIFTest", code: Int(KIFTestStepResult.Failure.rawValue), userInfo: [NSLocalizedDescriptionKey: "Failed to \(errorType): \(error.localizedDescription)", NSUnderlyingErrorKey: error])
failWithError(errorToThrow, stopTest: true)
}
}
and use it like that
//
// IntroTest.swift
// Frip
//
// Created by 최완복 on 2016. 1. 6..
// Copyright © 2016년 Frientrip. All rights reserved.
//
import KIF
class IntroTest: KIFTestCase {
var server: MockingServer { return server() }
override func beforeAll() {
server.start()
}
override func afterAll() {
server.stop()
}
func testSuccess() {
server.waitForRequestMatching(mocktail: "successful-intro", inBundle: NSBundle(forClass: self.dynamicType), andRespondWithValues: nil)
}
}
Can you submit a pull request with a fix? And be sure to use a new branch for it :-)
Ok, I'll do it. until next week. ;-)
What about this pull request? 'next week' is long ago :)
Would be closed by #13
Yeah, I thought that too but unfortunately I had the same error as before. That's why I closed this pull request..
I've install
AMYServer
viaCocoapods
So,[NSBundle KIFTestBundle]
can't contain my mocktail files. also[NSBundle mainBundle]
.These files are contained in
[NSBundle allBundles][1]