单元测试Objective-C代码有哪些框架?我想要一个与Apple Xcode很好地集成的框架.
我最近更新到Xcode 7 beta 5.我尝试在早期项目中添加单元测试,但是我收到错误消息"没有这样的模块[myModuleName]"就@testable import myModuleName行了.
我试过了
这项工作都没有用(但我已经在另一个项目中进行了测试).还有其他人有这个问题并解决了吗?
我有一个问题,Xcode IDE 6没有正确检测我的swift单元测试用例.当我运行单元测试时,所有测试都被执行了.
但是在IDE中编辑单元测试时无法识别.我必须运行整个单元测试套件才能运行单个测试.
我无法弄清楚我是如何避免这种故障的.

当您创建XCode 4项目时,它会询问您是否要包含单元测试.但是,如何将它添加到没有它们的项目中呢?
我开始了一个单元测试的项目,试图找出它,看起来它和我现有的项目之间的唯一区别是新项目中的Test.h和Test.m文件.
但是,当我将它们移动到我的旧项目并尝试构建时,它说没有这样的文件或目录:SenTestingKit/SenTestingKit.h.这对我来说看起来像一个框架,但是如果我去构建阶段并尝试添加框架,那么没有一个可用的SenTestingKit :(而新项目只链接常见的嫌疑人:UIKit,CoreGraphics和Foundation,但是没有SenTestingKit.
当我在Xcode 5中创建我的iOS项目时,我单击了选项以向项目添加测试.是否有可能删除所有测试内容,就像我没有点击选项开始一样?
我真的很难理解单元测试.我确实理解TDD的重要性,但我读到的所有单元测试的例子似乎都非常简单和微不足道.例如,测试以确保设置属性或将内存分配给数组.为什么?如果我编码..alloc] init],我真的需要确保它有效吗?
我是开发新手,所以我肯定我在这里缺少一些东西,特别是围绕TDD的所有热潮.
我认为我的主要问题是我找不到任何实际的例子.这是一种setReminderId 似乎很适合测试的方法.什么是有用的单元测试看起来确保这是有效的?(使用OCUnit)
- (NSNumber *)setReminderId: (NSDictionary *)reminderData
{
NSNumber *currentReminderId = [[NSUserDefaults standardUserDefaults] objectForKey:@"currentReminderId"];
if (currentReminderId) {
// Increment the last reminderId
currentReminderId = @(currentReminderId.intValue + 1);
}
else {
// Set to 0 if it doesn't already exist
currentReminderId = @0;
}
// Update currentReminderId to model
[[NSUserDefaults standardUserDefaults] setObject:currentReminderId forKey:@"currentReminderId"];
return currentReminderId;
}
Run Code Online (Sandbox Code Playgroud) 我刚刚学习了Xcode中的单元测试.现在我正在尝试Xcode 7,当我创建一个新项目时,我看到有一个新的UI测试组.
我观看了WWDC 2015视频并且它非常好,但你有一个超级简单的例子,我可以自己完成吗?视频示例对我来说有点过于复杂.
笔记
Xcode测试导航器显示测试用例类的列表.
我想删除一个测试用例类,因为它不再需要了.
我尝试了许多典型的方法,例如按删除,或查找" - "图标,或"删除"菜单项,或在Apple Xcode文档中搜索帮助.
我发现了这个解决方法:
在项目导航器中,从项目中删除该文件并删除该文件.
退出Xcode并重新启动它.测试导航器似乎忘记了测试类和测试用例,并显示零项.
运行测试.Test导航器似乎重建了测试类和测试用例列表.
如果仍然无效,请试试这些......
删除Xcode派生数据:
Xcode菜单 - >首选项 - >"位置"图标 - >"派生数据"部分.
点击微小的灰色圆圈箭头; 这将打开Finder并显示DerviedData文件夹.
删除整个文件夹.
重建:
产品菜单 - >清洁.
产品菜单 - >构建.
是否有更简单的方法来实现删除测试类的目标?理想情况下,无需重新启动Xcode,或重建项目等?
我正在使用Xcode 6.3和Swift 1.2,如果这有助于了解.
编辑:在评论中,@ CakeDeveloper指向官方的Xcode 6.3发行说明,它描述了一个已知的错误#20373533:
在此版本的Xcode中不会自动发现Swift测试.将不会显示源编辑器侧栏中的测试注释,并且测试导航器和方案表的Test操作中的测试表将为空....
这个问题的赏金是针对任何解决方案或更好的解决方法.任何解决方法都可以,例如使用Xcode GUI,或使用命令行xcodebuild,或任何破坏项目文件的shell脚本.
ios ×7
unit-testing ×7
xcode ×6
objective-c ×2
xctest ×2
cocoa ×1
ide ×1
iphone ×1
ocunit ×1
swift ×1
tdd ×1
ui-testing ×1
xcode4 ×1
xcode6 ×1