ios – 我为什么要使用单独的测试目标来运行XCTests,我应该怎么做?

ios – 我为什么要使用单独的测试目标来运行XCTests,我应该怎么做?,第1张

概述我曾经 asked a question related to XCTests.在其中一个答案中,我被告知在运行单元测试时(至少在iOS开发中)使用单独的测试目标(主应用程序除外)是一种常见做法.我试图找到一些关于它的消息来源,但我不能 我明白,这可能是一种最佳实践,所以我真的很想理解它.有人可以向我解释为什么它很重要,我从中获得了什么好处,我该怎么做呢?将非常感谢与解释该问题的一些文章的链接. 我曾经 asked a question related to XCTests.在其中一个答案中,我被告知在运行单元测试时(至少在iOS开发中)使用单独的测试目标(主应用程序除外)是一种常见做法.我试图找到一些关于它的消息来源,但我不能

我明白,这可能是一种最佳实践,所以我真的很想理解它.有人可以向我解释为什么它很重要,我从中获得了什么好处,我该怎么做呢?将非常感谢与解释该问题的一些文章的链接.

附:我知道我需要特殊的测试环境(伪内存数据库,模拟网络层等),但到目前为止我设法实现它而没有单独的测试主机.但我相信可能有更好的方法.

解决方法 回答你的观点:

>为什么使用单独的测试目标很重要?

关注点分离.单元测试目标与常规应用程序目标没有相同类型的结构 – 它包含一个测试包,它引用了测试中的应用程序目标,以及测试类和所需的任何帮助程序类.它不是添加了测试代码的应用程序目标的副本 – 事实上它甚至不应该包含被测试的代码.这意味着您不必特别努力使测试目标与主应用程序目标保持同步 – 测试包加载主应用程序处理所有这些事实. (您对Richard Ross对您之前的q的回答发表了评论,表明您已经遇到了重复导致的困难).

>我该怎么做呢? (在Xcode 7上查看).

假设您要将目标添加到没有任何测试的现有项目,请选择主项目,然后单击项目中目标列表下方的“”.您还可以使用file-> New-> Target菜单选项.
您将看到一个菜单,要求您为新目标选择模板.选择“测试”并在测试中选择“iOS单元测试包”.
检查下一个屏幕中的字段 – 默认情况下它们应该是正确的 – 但如果项目/工作区中有很多目标,您可能需要仔细检查“要测试的目标”字段值是否正确.单击“确定”,您应该有一个正常运行的单元测试包,其中一个示例测试应该能够使用Apple-U或Product-> Test进行测试如果您需要#import应用程序类使用ObjC.

如果要创建新项目,则只需在创建项目时勾选“包含单元测试”框即可 – 无需其他步骤.

> Apple Docs(链接到相关的WWDC演示文稿)
>教程.大多数教程都有点过时了.但是没有那么多改变,所以只需看看文档并弄清楚.下面两个可能有用,否则只是谷歌.从快速浏览一下,他们中的大多数似乎都认为该项目在开始时已经进行了单元测试

http://www.raywenderlich.com/22590/beginning-automated-testing-with-xcode-part-12(2012 / iOS 6,但过程仍大致相同.还处理Jenkins,Git和Cli运行测试).

Unit testing in OSX – 最近的帖子 – 不是iOS,我知道,但比大多数iOS教程(2015年10月)更新,并提供分步说明(包括在构建方案中设置单元测试目标,这可能赢了’在你的情况下是必要的).无论如何,可能值得一看.

总结

以上是内存溢出为你收集整理的ios – 我为什么要使用单独的测试目标来运行XCTests,我应该怎么做?全部内容,希望文章能够帮你解决ios – 我为什么要使用单独的测试目标来运行XCTests,我应该怎么做?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1070614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存