objective-c - Objective-C 中的@testable 类比

标签 objective-c swift unit-testing

我想用 Objective-C 为我的框架编写单元测试,它是用 swift 编写的。有没有办法从 Objective-C 测试访问框架的内部 API?

最佳答案

如果你有一个类 Foo 并且你想使用内部 API,例如方法 - (void) bar; 你可以在你的测试中创建一个扩展头 Foo+ExposePrivate.h (不需要创建实现 Foo+ExposePrivate.m ) 并将其导入到需要的地方:

#import "Foo.h"

@interface Foo(ExposePrivate)

- (void) bar;

@end

如果您的类 Foo 本身是内部类,请添加复制类声明:

@interface Foo: SomeFooBase<SomeFooProtocol>
@end

@interface Foo(ExposePrivate)

- (void) bar;

@end

关于objective-c - Objective-C 中的@testable 类比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41504339/

相关文章:

objective-c - NSTextField 是第一响应者,但我仍然必须在输入之前在文本框内单击

ios - 使用 NSPredicate 进行字符串比较

objective-c - 调试时如何更改 XCode 中的 NSNumber 值?

ios - 在 UINavigationController 中获取过渡百分比

返回 NULL 的 PHPUnit stub 方法?

objective-c - 将经纬度转换为ECEF坐标系

swift - 从 Async F# 在主线程上执行代码

ios - 当我们使用VIPER架构时如何创建常量?

c - Glib:我可以重用通过 g_test_queue_free 排队等待释放的指针吗?

python - 当我想在单元测试中使用反向函数时,会发生 django urls.exceptions.NoReverseMatch 错误?