从XCTestCase子类继承

时间:2014-08-21 10:35:22

标签: objective-c unit-testing inheritance

如何创建以下结构:

CoreDataTests : XCTestCase

Entity1CoreDataTests : CoreDataTests
Entity2CoreDataTests : CoreDataTests

说明:我想编写一些与核心数据(check)相关的测试,但是我想把它们分成不同的测试用例类,所以在一个测试用例类中我会有与{{1}相关的测试实体,在另一个实体中,与User实体相关的测试。这里的问题是,我希望两个测试用例类共享CoreDataTests中实现的CommentsetUp方法,只需使用tearDown调用它们,而不必复制 - 粘贴它。

但由于super是一个测试用例类,它没有头文件,因此CoreDataTests类抱怨他们没有指定基类。< / p>

1 个答案:

答案 0 :(得分:8)

您可以像使用普通类一样创建XCTestCase的子类,使用.h和.m文件。

所以只是文件菜单&gt;新文件&gt;使用XCTestCase作为超类的新Cocoa类。

然后,您可以使用它作为超类创建新测试,但是,您仍然需要导入超类.h文件,因为它不会自动添加。

我出于同样的原因这样做,测试核心数据并使用常用方法来设置上下文。

但有一件令人讨厌的事情,它仍然出现在测试GUI中,只是没有测试。