Swift 如何为下面提到的IBAction编写Kiwi测试用例

Swift 如何为下面提到的IBAction编写Kiwi测试用例,swift,unit-testing,testing,kiwi,Swift,Unit Testing,Testing,Kiwi,我面临的问题是如何为下面提到的函数设置正确的测试用例 -(IBAction) returnToLogin:(UIStoryboardSegue*) segue { NSLog(@"kiwi tested"); } 我尝试过不同的方法,但都通过了测试 it(@"Should unwind segue", ^{ NSNumber *actionMethod = @([_vc respondsToSelector:@selector(returnToLogin:)]);

我面临的问题是如何为下面提到的函数设置正确的测试用例

-(IBAction) returnToLogin:(UIStoryboardSegue*) segue {
  NSLog(@"kiwi tested");
}
我尝试过不同的方法,但都通过了测试

   it(@"Should unwind segue", ^{
        NSNumber *actionMethod = @([_vc respondsToSelector:@selector(returnToLogin:)]);
        [[actionMethod should] beTrue];
    });

你有什么想法吗?

在当前的returnToLogin实现中:你不能进行太多的测试,因为该方法什么都不做。如果该方法将执行某些操作,例如更改视图控制器层次结构,那么您将能够断言该行为

但要考虑以下几点:

iAction的签名不正确,UIStoryboardSegue无法触发操作。 控制器测试有点困难,主要是因为它涉及到测试UI更改 尝试将要测试的逻辑重构为业务类,并测试这些类; 苹果增加了对自Xcode7和iOS9的支持,所以如果你想测试UI,你可以使用它