столкнуться с той же проблемой, кажется, MyAppTests-Swift.h
не очень "импортируемо":)
Мне пришлось прибегнуть к некоторым не очень хорошим обходным путям, чтобы сделать эту работу. Для создания экземпляра класса я использовал NSClassFromString()
, а затем привел к протоколу, видимому на стороне Objective-C. Для вашего расширения вы можете сделать что-то подобное, объявив методы в заголовочном файле, фактически не реализуя их.
Итак, если ваше расширение NSErrorExtension.swift
выглядит так:
extension NSError {
@objc func someFunc() -> SomeResult
}
, вы можете создать файл NSErrorExtension.h
(без соответствующего .m
):
@interface NSError (UnitTestExtensions)
- (SomeResult *)someFunc;
@end
Это должно сделать функцию доступной на стороне Objective-C. Недостатком является то, что вам нужно будет делать это для каждой функции, которую вы хотите показать со стороны Swift модульных тестов.