i’m using Swift with Typhoon and Cocoapods. Everything worked well until i started to write an Integrationtest (according to the Typhoon-Example-App Test) for my Typhoon component. I wanted to setup the TyphoonFactory
in the Test setUp()
method in the same way as i did in the AppDelegate
. When i execute the test i always get a
TyphoonBlockComponentFactory assertIsAssembly:] + 244: ERROR: MyApp.MyAssembly is not a sub-class of TyphoonAssembly
error thrown by Typhoon (wich is using the kindOfClass
method under the hood.) The same code is working perfectly in the AppDelegate
and i can’t figure out whats wrong.
To verify this behavior i implemented the isKindOfClass
check in booth classes (see code below):
- AppDelegate -> true
- MyComponentTest -> false
Can someone pls help me further? Thx a lot!
PodFile
inhibit_all_warnings!
target "MyApp" do
pod 'Typhoon', '2.1.0'
end
target "MyAppTests" do
pod 'Typhoon', '2.1.0'
end
MyAssembly.swift
public class MyAssembly : TyphoonAssembly{
//Some definitions
}
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
…
var assembly : MyAssembly = MyAssembly()
//Always returns „true“
println("Is type of class: \(assembly.isKindOfClass(TyphoonAssembly))")
…
}
MyComponentTest.swift
import XCTest
import MyApp
class MyComponentTest: XCTestCase {
override func setUp() {
super.setup()
var assembly : MyAssembly = MyAssembly()
//Always returns „false“!
println("Is type of class: \(assembly.isKindOfClass(TyphoonAssembly))")
//Error is thrown „MyApp.MyAssembly is not a sub-class of TyphoonAssembly“
var factory : TyphoonComponentFactory = TyphoonBlockComponentFactory(assembly: assembly) as TyphoonComponentFactory
}
}