我有一些重复的规范,我想干掉。通用功能不适合移动到 beforeEach
block 中。本质上,它是对象创建,12 个对象中的每一个对象有 4 行,我想将这 4 行变成一个函数调用。
我可以在 Kiwi 规范中的什么地方放置辅助函数?
在 RSpec 中,我可以将 def
放在 spec block 之间,但这在这里似乎是不可能的。我什至尝试跳过 SPEC_END
宏并自己添加该内容,这样我就可以在 SPEC_BEGIN
的@implementation 中添加函数,但这似乎也不起作用。
更正...我可以通过手动编写 SPEC_END
宏来管理某种工作。我最后 } 放错了地方。但是,它仍然失败,因为该方法不在 @interface
中。
最佳答案
在 SPEC_BEGIN 之后将您的辅助函数创建为一个 block :
SPEC_BEGIN(MySpec)
NSDate* (^dateFromString) (NSString *) = ^NSDate* (NSString *dateString) {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateFormat:@"MM-dd-yyyy"];
return [dateFormatter dateFromString:dateString];
};
describe(@"something", ^{
NSDate *checkDate = dateFromString(@"12-01-2005");
...
});
SPEC_END
关于ios - Kiwi 规范中的辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11198428/