测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 自定义 |
发布上次发布 | 2017年2月 |
由 Blake Watters、Blake Watters、Andrew McKnight 维护。
KIF的系统测试actor的功能测试UIViewControllers的行动
KIFViewControllerActions 是一个用于 KIF 的行动库,为功能测试 UIViewController 对象提供支持。它作为 KIFSystemTestActor
类的类别实现。
这些行动旨在提高测试之间的隔离性,并使尚未连接到用户界面的视图控制器能够进行测试。主要面向使用测试驱动开发过程并利用 KIF 作为开发工具的用户,而不仅仅将其作为验收测试工具使用。
库中只有少数属性和方法。每个操作通过在 [UIApplication sharedApplication]
共享实例的 keyWindow
上替换 rootViewController
来实例化和展示视图控制器。支持基于代码和 Storyboard 的视图控制器。
- (void)presentViewControllerWithClass:(Class)viewControllerClass withinNavigationControllerWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass configurationBlock:(void (^)(id viewController))configurationBlock
- 在指定的 UINavigationController
实例中实例化和展示一个指定 UIViewController
子类的实例,具有指定的 UINavigationBar
和 UIToolbar
子类,可选地将实例化控制器传递给代码块进行配置。- (void)presentViewControllerWithIdentifier:(NSString *)controllerIdentifier fromStoryboardWithName:(NSString *)storyboardName configurationBlock:(void (^)(UIViewController *viewController))configurationBlock
- 从具有给定名称的 Storyboard 中实例化和展示视图控制器,可选地将实例化控制器传递给代码块进行配置。- (void)presentModalViewControllerWithIdentifier:(NSString *)controllerIdentifier fromStoryboardWithName:(NSString *)storyboardName configurationBlock:(void (^)(UIViewController *viewController))configurationBlock
- 从具有给定名称的 Storyboard 中实例化和模态展示视图控制器,可选地将实例化控制器传递给代码块进行配置。defaultNavigationBarClass
- 在实例化视图控制器时指定一个 UINavigationBar
子类。defaultToolbarClass
- 在实例化视图控制器时指定一个 UIToolbar
子类。您可以通过 KIFTestCase
上的 system
属性访问 KIFSystemTestActor
,例如
@interface MyViewControllerUITests : KIFTestCase
...
- (void)test
{
[system presentViewControllerWithIdentifier:@"MyViewController"
fromStoryboardWithName:@"MyStoryBoardName"
configurationBlock:^(UIViewController *viewController) {
// Configure your view controller, e.g. by injecting mock data or a mock endpoint
MyViewController *myViewController = (MyViewController *)viewController;
...
}];
[tester waitForViewWithAccessibilityLabel:@"my accessibility label"];
[tester enterText:@"asdf" intoViewWithAccessibilityLabel:@"my accessibility label"];
}
Blake Watters
KIFViewControllerActions 在Apache 2许可协议下可用。有关更多信息,请参阅LICENSE文件。