问题标签 [sentestingkit]

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 投票
0 回答
159 浏览

ios - SenTestCase 类的核心数据:意外错误

我正在开发一个使用核心数据从 sqlite db 存储和检索数据的应用程序。为此,我创建了一个单独的类,其作用类似于数据链路层 - LocalDBController

下面是其中一种方法的实现——selectAddressWithAddressId:

现在我正在尝试为它实现一个测试用例类(SenTestCase 类)。

我在 LocalDBController 类中编写了下面的 init 方法,因此如果环境变量的值为“Run”,则它使用默认的持久存储,如果环境变量的值为“Test”,则使用内存中的持久存储:

在我的测试类中,我试图调用以下方法:

问题是——

在这种情况下,在selectAddressWithAddressId :方法中获得的entityDescription的值为 nil,尽管 self.moc 的值不是 nil。所以它在控制台中抛出这个异常消息:引发 executeFetchRequest:error: A fetch request must have an entity..

如果我从我的测试用例包中不包含的类执行上述方法,比如 appDelegate,它工作正常。

如果我做错了什么,谁能建议我?

0 投票
0 回答
139 浏览

objective-c - cocos2d 单元测试。未定义的符号

为了让自己相信单元测试和 TDD 的好处,我决定将测试包含在我最新的 Cocos2D 项目中。启动并运行最初的样板测试工作正常,但可惜,在此之后我无法走得很远。测试台对每一个 Cocos2D 类都犹豫不决:

NORControlLayer 是上例中 CCLayer 的子类。现在,显而易见的解决方案是简单地将 CCLayer 链接到测试台,但这似乎打开了一个马蜂窝,每个添加的类都需要另外十倍的类链接。

有没有办法创建一个模拟(或其他一些巧妙的技巧)来让 SenTestingKit 接受 NORControlLayer 和未来的 Cocos2D 子类?

PS:我实际上已经将每个 cocos2d-class 都包含为测试包的目标,但最终出现了一百多个类似的错误......

0 投票
0 回答
236 浏览

iphone - 通过命令行运行 ios ocunit 逻辑测试无法访问钥匙串

我正在尝试使用命令行运行我的逻辑测试( OCUnit )。但它因错误而失败。

使用的命令

错误

我希望模拟器在我通过命令行运行项目时运行,以便它可以访问钥匙串。或者当它通过命令行运行项目时,还有其他方法可以访问钥匙串吗?请帮忙 !!!

0 投票
2 回答
120 浏览

objective-c - 有没有办法在 xcode 中轻松运行一组特定的测试或单个测试?

有没有办法单独运行单个测试或一组测试?

我发现当我试图调试一个特定的测试时,这真的很烦人,因为以前的测试用例可能会触发相同的断点——所以我通常会注释掉我所有的测试,除了我正在处理的测试,但这似乎太贫民窟了。 ..所以我想知道是否有更好的方法?

0 投票
1 回答
248 浏览

cocoa - 添加 OCMock 后,单元测试总是“成功”

我想在我的 Cocoa 项目的单元测试中使用 OCMock。我已经下载了最新版本的 OCMock (2.0.1) 并将OCMock.framework复制到我的项目目录中。在 Xcode 中,我已将框架添加到单元测试目标的链接阶段。然后我添加了一些使用 OCMock 类的代码。

从那时起,所有单元测试都报告为“成功”——绿灯,没有错误或警告。即使在引入STFail调用之后,Xcode 仍声称“测试成功”。在任意测试方法中放置断点表明它们都没有被执行。

如果我使用 OCMock 注释掉代码,包括import指令,问题仍然存在。

STFails当我从链接阶段删除 OCMock 时,问题消失了 - 即,开始再次失败。

这类似于我之前问过的另一个问题,但不完全相同:在这种情况下,日志导航器中的信息显示没有错误。什么可能导致这种行为?我可以做些什么来诊断这个问题?

0 投票
1 回答
120 浏览

xcode - 了解 SenTestingKit 日志输出

我正在尝试完全理解我的单元测试生成的最终控制台输出:

大部分是不言自明的,但最后一个我不确定。具体来说in 0.034 (0.052) seconds。它不能是平均值,因为每个测试都显示如下输出:

所有六项测试都表明passed (0.005 seconds),平均值没有意义。0.034似乎是执行的总时间,我对(0.052)代表什么感到困惑?

0 投票
2 回答
2457 浏览

objective-c - 启用“仪器程序流程”时 objc_msgSend 中的 EXC_BAD_ACCESS

到目前为止,我已经花了几天时间试图追查这个问题,但没有运气。

我正在尝试测量我的项目中的测试覆盖率,这是一个使用 Xcode 在 Objective-C 中开发的 Mac OS 应用程序,这意味着在构建设置中启用“仪器程序流程”和“生成测试覆盖率文件”。我相信这些对应于clang中的-fprofile-arcs-ftest-coverage标志。

当这些被启用时(虽然它似乎只-fprofile-arcs影响这个问题)程序将在某些地方崩溃并出现EXC_BAD_ACCESS异常。objc_msgSend

在运行应用程序本身时,会在返回第一个网络请求时发生这种情况。回溯不包含我的任何代码,并且似乎完全发生在 Foundation/Cocoa 框架中。虽然这很烦人,但我忍受了根据我是在运行测试还是使用应用程序来打开/关闭构建设置。

我现在在测试时遇到了似乎相同的问题。我刚刚编写了一个包含网络访问的测试,并且在检测程序流时,测试失败,并且在同一位置出现明显相同的异常。


我需要弄清楚是什么原因造成的。我正在开发的应用程序是针对大学项目的,其中一个目标是报告测试覆盖率并评估测试过程。当由于测试崩溃而无法测试应用程序的大部分时,这很难做到。

这是运行测试时的回溯:

这些顶部看起来像同一个问题。这是我的代码中某处的问题(我不知道它会在哪里)还是有什么方法可以缓解这个问题?

I've tried the typical debugging tips like turning on zombie objects and printing out the contents of the registers when it crashes, neither of those help at all. The registers appear to contain garbage, and having zombies enabled doesn't give any information.

0 投票
1 回答
271 浏览

nsnotificationcenter - 测试 NSNotification 传递

我正在尝试确保在调用NSNotification之后发送。reportIssue

我收到此错误:

在 APHIssueComposer.m 中:

在 APHIssueComposerTests.m 中:

为什么模拟对象没有收到通知?

0 投票
0 回答
61 浏览

xcode - 自定义 SenTest/OCUnit

时不时会有修改Mac/iOS单元测试框架某些方面的冲动。我不想牺牲它与 XCode 的良好集成,但有时我发现自己渴望改变一些细节:

  • 将消息发送到监视器对象,而不是将它们记录到控制台
  • 仅记录失败
  • 修改测试顺序

诸如此类的简单事情。有没有一种合理的方法可以做到这一点,也许是通过 SenTest 框架的开发者变体?

0 投票
0 回答
273 浏览

objective-c - Xcode 中的 SenTestingKit

嗨,我收到了这条警告信息,我以前没有收到过:

我该如何解决?

我尝试在框架搜索路径中使用“${DEVELOPER_LIBRARY_DIR}/Frameworks”,但没有任何反应。

提前致谢