XCTestCase超类方法对子类不可见
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XCTestCase超类方法对子类不可见相关的知识,希望对你有一定的参考价值。
我创建了以下XCTestCase超类:
// FileNameTest.h
#import <XCTest/XCTest.h>
NS_ASSUME_NONNULL_BEGIN
@interface FileNameTest : XCTestCase
@end
NS_ASSUME_NONNULL_END
// FileNameTest.m
#import "FileNameTest.h"
@implementation FileNameTest
- (void)setUp
[super setUp];
- (void)tearDown
[super tearDown];
- (void)helloMessage
NSLog(@"Hello");
@end
和一个调用超类方法的子类:
// FilenamePatternTest1.m
#import "FileNameTest.h"
@interface FilenamePatternTest1 : FileNameTest
@end
@implementation FilenamePatternTest1
- (void)testExample
[self helloMessage];
@end
但是子类不会编译。错误消息显示为:
'FilenamePatternTest1'的无可见@interface声明了选择器'helloMessage'
答案
Objective-C看不到.m
文件中的声明。您将需要在超类的.h
文件中声明要调用的方法。
以上是关于XCTestCase超类方法对子类不可见的主要内容,如果未能解决你的问题,请参考以下文章