问题标签 [ocmock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1625 浏览

objective-c - 测试核心数据应用

我应该如何测试findByAttribute我添加到的实例方法NSManagedObject

起初,我想以编程方式创建一个独立的 Core Data 堆栈,如 Xcode 的 Core Data Utility Tutorial 所示。而且,在我搜索该文档时,我遇到了Core Data Fetch Request Templates并认为可能不是创建我创建的方法,而是我应该制作 fetch 请求模板,但它看起来不像entityName可以通过 fetch 变量请求模板,可以吗?我可以创建一个获取请求模板,NSManagedObject以便所有子类都可以使用它吗?嗯,但是我仍然需要一个entityName并且我认为没有办法动态获取调用该方法的子类的名称。

无论如何,看起来一个很好的解决方案是创建一个用于测试的内存中核心数据堆栈,独立于生产核心数据堆栈。@Jeff Schilling 还建议创建一个内存持久存储Chris Hanson 还创建了一个持久存储协调器来对 Core Data 进行单元测试。这似乎类似于 Rails 有一个单独的数据库进行测试。但是,@iamleeg 建议删除 Core Data 依赖项

您认为哪种方法更好?我个人更喜欢后者。

更新:我正在使用 OCHamcrest 和 Pivotal Lab 的 Cedar 对核心数据进行单元测试。除了编写下面的代码之外,我还在目标中添加了NSManagedObject+Additions.m和。User.mSpec

如果你能告诉我为什么如果我不强制(id)fbIdfindByAttribute传递给我得到论点

然后你得到奖励积分!:)如果论点应该是an ,我似乎不必将 anNSNumber转换为 an因为是 an ,对吗?ididNSNumberid

0 投票
3 回答
7002 浏览

iphone - 如何使用 OCMock 验证方法调用的数量

有没有办法验证一个方法是否被调用了“x”次?

0 投票
1 回答
2983 浏览

objective-c - 在 OCMock 中使用块期望

我正在使用 GHUnit 和 OCMock 在我的 iOS 应用程序中进行一些测试工作。

所以我在整合它们时遇到了一些麻烦。

以下代码运行良好。

但是当我改变 [[[mock stub] andReturn:@"255"] capitalizedString]; 进入

我收到一条错误消息,上面写着“原因:'NSCFString' 应该等于 '255'。应该等于”

我认为这两个语句应该做完全相同的事情。我错了吗?

0 投票
2 回答
2901 浏览

iphone - 使用 OCMock 1.77 进行 iOS4 和 Xcode 4/SDK4.3 的单元和应用程序测试

我正在尝试使用 OCMock 1.77 进行 iOS4 和 Xcode 4/SDK4.3 的单元和应用程序测试。我已按照说明将 OCMock 用作此处的静态库:http: //www.mulle-kybernetik.com/software/OCMock/。单元和应用程序测试在没有 OCMock 的情况下运行良好。

当我添加 OCMock 并尝试为模拟器运行 OCMock 的测试套件(单元测​​试)时,我的测试台崩溃并显示代码 134。测试台在设备上运行良好(应用程序测试)。如果我查看控制台,我会看到下面的消息——这表明我没有按照上述 URL 中的说明添加 -force_load 链接器标志。但我有……有什么想法吗?

我看了看:Test rig 在 iOS 4 上使用 OCMock 验证代码 134 异常退出,这表明这种行为是一个错误——但我不确定情况是否相同,因为我正在运行 OCMock 测试套件。如果它是一个错误,是否有在单元测试中使用模拟的解决方法?

TIA。

=====

控制台输出:

0 投票
1 回答
862 浏览

iphone - Objective C - How to use OC Mock?

I have a class that suppose to return a string when a method gets called. How can i create a mock object.

I want mock to return @"Hello" when the method "sayHello" get's called

0 投票
4 回答
6490 浏览

objective-c - Objective C & OC Mock - 模拟一个类方法?

我需要能够确定是否调用了类方法。我怎样才能用 OCMock 做到这一点?

0 投票
1 回答
413 浏览

iphone - 使用 OCMock 测试 NSWidowController

我一直在尝试想出一种方法来使用 OCMock 对我的 applicationDidFinishLaunching 委托进行单元测试。我的 NSWindowController 在这里实例化,我想对其进行测试。这是我的测试代码:

当我运行测试时,我收到错误:

“OCMockObject [URLTimerWindowController]:未调用预期方法:showWindow:-[URLTimerAppDelegateTests testApplicationDidFinishLaunching]”

该日志提供了更多详细信息:

所以我看到NIB无法加载。好的,那么我如何在单元测试时加载它或以某种方式模拟它的负载?我已经查看了 OCMock 文档、Chris Hanson 的单元测试技巧以及其他一些资源,包括以类似方式运行的 WhereIsMyMac 源代码。我用于实例化窗口控制器的应用程序是这样的:

非常感谢任何提示。

0 投票
2 回答
1940 浏览

objective-c - OCMock - 如何期待 nsarray 的内容

我想测试我在数据库中插入的值是否被发送回我班级的代表。

我试图模拟委托并期望我用来填充数据库的数组。它失败是因为 2 个 NSArray 具有相同的内容但是不同的对象。

我尝试在我的模型上实现 isequal 和 hash 方法但没有成功。

这是错误日志:

我怎样才能做到这一点 ?

这是我的测试:

这是我正在测试的方法:

谢谢你的帮助,文森特

0 投票
4 回答
12473 浏览

unit-testing - 如何更改 OCMock 存根的返回值?

似乎我第一次在 OCMock 存根上添加andReturnValue时,该返回值是一成不变的。例如:

在 [testEntity update] 中调用存根方法。但是每次存根方法都返回velocity1值,所以我猜第二次尝试设置方法返回值是不值得的。

有没有办法在 OCMock 中做到这一点?

0 投票
2 回答
911 浏览

objective-c - Objective C - OCMock 和存根?

是否可以拥有一个类的实际对象并且只模拟该类中的一个方法而不是模拟整个对象?

我希望对象的行为与真实对象 100% 相同,除了 1 种方法。

前任: