从XCTestCase子类继承

Lor*_*olt 9 inheritance unit-testing objective-c

如何创建以下结构:

CoreDataTests : XCTestCase

Entity1CoreDataTests : CoreDataTests
Entity2CoreDataTests : CoreDataTests
Run Code Online (Sandbox Code Playgroud)

说明:我想编写一些与核心数据(check)相关的测试,但是我想把它们分成不同的测试用例类,所以在一个测试用例类中,我会有与User实体相关的测试,在另一个测试用例类中,测试与Comment实体有关.这里美中不足的是,我想这两个测试用例类共享setUp,并tearDown在CoreDataTests实现的方法,只是叫他们super,而不必把它周围的复制粘贴.

但由于它CoreDataTests是一个测试用例类,它没有头文件,因此EntityTest类抱怨它们没有指定基类.

Geo*_*own 8

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

所以只需将文件菜单>新文件>新的Cocoa类与XCTestCase作为超类.

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

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

但令人讨厌的是,它仍然出现在测试GUI中,只是没有测试.

  • > 但一件烦人的事情是,它仍然显示在测试 GUI 中,只是没有测试。因此,添加测试来测试核心数据超类中的辅助函数:) (2认同)