ios - Is use of generics valid in XCTestCase subclasses? -


i have xctestcase subclass looks this. have removed setup() , teardown methods brevity:

class viewcontrollertests <t : uiviewcontroller>: xctestcase {     var viewcontroller : t!      final func loadcontrollerwithnibname(string:string) {         viewcontroller  = t(nibname: string, bundle: nsbundle(forclass: viewcontrollertests.self))          if #available(ios 9.0, *) {             viewcontroller.loadviewifneeded()         } else {             viewcontroller.view.alpha = 1         }     } } 

and subclass looks :

class welcomeviewcontrollertests : viewcontrollertests<welcomeviewcontroller> {     override func setup() {         super.setup()         self.loadcontrollerwithnibname("welcomeviewcontroller")         // put setup code here. method called before invocation of each test method in class.     }      func testname() {        let value =  self.viewcontroller.firstnametextfield.text         if value == "" {             xctfail()         }     } } 

in theory, should work expected -- compiler doesn't complain anything. it's when run test cases, setup() method doesn't called. but, says tests have passed when testname() method should fail.

is use of generics problem? can think of many non-generic approaches, want write test cases this. xctest's interoperability between objective-c , swift issue here?

xctestcase uses objective-c runtime load test classes , find test methods, etc.

swift generic classes not compatible objective-c. see https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/interactingwithobjective-capis.html#//apple_ref/doc/uid/tp40014216-ch4-id53:

when create swift class descends objective-c class, class , members—properties, methods, subscripts, , initializers—that compatible objective-c automatically available objective-c. excludes swift-only features, such listed here:

  • generics

...

ergo generic xctestcase subclass can not used xctest.


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -