objective-c - 继承自 XCTestCase 子类

标签 objective-c unit-testing inheritance

如何创建以下结构:

CoreDataTests : XCTestCase

Entity1CoreDataTests : CoreDataTests
Entity2CoreDataTests : CoreDataTests

说明:我想写一些与核心数据相关的测试(检查),但我想将它们分成不同的测试用例类,所以在一个测试用例类中我会有与 User 相关的测试 实体,在另一个方面,与 Comment 实体相关的测试。这里的问题是我希望这两个测试用例类共享在 CoreDataTests 中实现的 setUptearDown 方法,并使用 super 调用它们> 而不是复制粘贴它。

但是由于 CoreDataTests 是一个测试用例类,它没有头文件,所以 EntityTest 类提示它们没有指定基类.

最佳答案

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

所以只需文件菜单 > 新建文件 > 以 XCTestCase 作为父类(super class)的新建 Cocoa 类。

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

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

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

关于objective-c - 继承自 XCTestCase 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424142/

相关文章:

iphone - 尝试在 uilabel 上设置背景颜色动画以实现 'fade' 效果,但它会立即应用

objective-c - 强制更新 IOS

c++ - "symbol(s) not found for architecture x86_64"由于 C 函数而导致的错误

c# - 测试 MVC Controller 操作 HttpAcceptAttribute 动词

java - 如何测试 util detector OS 类

c++ - 委托(delegate)应该有一个虚拟析构函数吗?

objective-c - 存档的应用程序不工作。从 XCODE 运行成功

PHPUnit 在对象创建中测试断言

javascript - 如何将一个函数用于不同的 JS 类?

java - 在派生类中调用 super.equals() 同时重写 equals