테스트 사례와 도우미 클래스가 있습니다.도우미 클래스의 어설 션이 무시되었습니다.
MainTests.h
#import <SenTestingKit/SenTestingKit.h>
@interface HelperClass : SenTestCase
- (void)fail;
@end
#import <SenTestingKit/SenTestingKit.h>
@interface MainTests : SenTestCase
@end
MainTests.m
#import "MainTests.h"
#import "HelperClass.h"
@implementation MainTests
- (void)testExample {
HelperClass *helperClass = [[HelperClass alloc] init];
[helperClass fail];
}
@end
HelperClass.h을 : 도우미에서 내가 사용하고자하는 클래스는 여기에서도 같은 주장
HelperClass.m
#import "HelperClass.h"
@implementation HelperClass
- (void)fail {
STFail(@"This should fail");
}
@end
(!) 참고 : 나는 주장 매크로에 액세스 할 수있는에 SenTestCase
에서 헬퍼 클래스를 서브 클래스를했습니다.
도우미 클래스의 어설 션은 무시됩니다. 어떤 아이디어? 헬퍼 클래스에서 어서션을 사용하려면 어떻게해야합니까?
멋진 트릭. 많은 도우미 클래스에 약간의 노동력이 필요합니다. 당신은 Upvote를 얻었고 더 좋은 해결책이 없다면 나는이 대답을 받아 들일 것입니다. – fabb
나는 fail 메소드와 이니셜 라이저로 도우미 슈퍼 클래스를 만들었다. 기본적인 어설 션이 필요할 경우, 정기적 인'NSAssert'를 사용하는 것이 더 쉽습니다. 비록 OCHamcrest를 사용할 때 아무런 생각이 들지 않습니다. – fabb