是否可以将 KIF 2.0 与 Specta 0.2.1 一起使用?在 KIF GitHub 存储库(https://github.com/kif-framework/KIF)上,他们添加了一个带有 Specta 的示例,但我无法使其正常工作,可能是因为 Specta 正在使用 XCTest 而不是 SenTestKit。也许我可以使用早期版本的 Specta,有人可以使用吗?
谢谢您的帮助。
是否可以将 KIF 2.0 与 Specta 0.2.1 一起使用?在 KIF GitHub 存储库(https://github.com/kif-framework/KIF)上,他们添加了一个带有 Specta 的示例,但我无法使其正常工作,可能是因为 Specta 正在使用 XCTest 而不是 SenTestKit。也许我可以使用早期版本的 Specta,有人可以使用吗?
谢谢您的帮助。
我发现我必须在 Specta 中添加一个类别SPTXCTestCase
才能让 KIF 2.0 和 Specta 0.2.1 发挥出色(尽管 KIF 2.0 中的 README 说明了什么)。我相信这确实是因为 KIF 不能开箱即用,XCTest 和 Specta 在版本 2 中从 OCTest 切换到 XCTest。
SPTXCTestCase+KIF.h
@protocol KIFTestActorDelegate;
@interface SPTXCTestCase (KIF) <KIFTestActorDelegate>
@end
SPTXCTestCase+KIF.m
#import "SPTXCTestCase+KIF.h"
#import <SenTestingKit/SenTestingKit.h>
@implementation SPTXCTestCase (KIF)
- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop {
[self recordFailureWithDescription:exception.userInfo[SenTestDescriptionKey]
inFile:exception.userInfo[SenTestFilenameKey]
atLine:[exception.userInfo[SenTestLineNumberKey] intValue]
expected:NO];
}
- (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop {
for (NSException *exception in exceptions) {
[self failWithException:exception stopTest:stop];
}
@end
修改,好像那些键不存在
- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop
{
self.continueAfterFailure = !stop;
[self recordFailureWithDescription:exception.description
inFile:exception.userInfo[@"SenTestFilenameKey"]
atLine:[exception.userInfo[@"SenTestLineNumberKey"] integerValue]
expected:NO];
}