《测试驱动的嵌入式C语言开发》—— Unity工具篇之概述

统一官网提供了一些工具CMock,CEEDLING,了CException等。那我们在实际的项目开发中如何去选择工具或者是否选择使用工具呢?针对于这个问题,统一也给出了对应的选择标准。具体请参见http://www.throwtheswitch.org/decide-o-tron

选择标准是Dr.Surly提出的一个小发明。回答以下问题,然后按照连接进行操作。这应该可以帮助您确定哪些工具适合您并引导帮助您安装他们。

  • Q1构建系统

第一个问题涉及您的发布版本系统。我们将建立一个TEST构建系统,但您的版本中的复杂性通常会增加测试的复杂性。

首先,让我们弄清楚您对构建系统的总体需求的感受。如果我们引导您了解这一切是如何工作的,并为您提供了一些方便的示例。您是否愿意设置自己的构建系统?

A>我的发布版本相当简单或典型;

B>我的发布版本很复杂,因为它有许多子项目,自定义库或依赖项;

C>我的发布版本很复杂,因为它有多个工具依赖项;

d>我的发布版本很复杂,因为它有许多条件构建选项;

E>我更愿意避免使用脚本语言等诸如此类的“额外”工具;

˚F>我真的很喜欢完全控制我的版本,不想要任何神秘的“魔法”;

CEEDLING

如果您认为最佳答案适合阿到Ç的任何选项,那么您最好的选择可能就是安装CEEDLING.CEEDLING提供了一个简单的界面,用于配置基本到复杂的项目结构。它支持额外的构建步骤和大对数情况,使构建“棘手”。此种情况下,请阅读Ceedling,然后跳到Q4。

自己创建(自己创建)

什么时候该自己创建呢?当d到˚F的选项是您可能想要构建的系统,或者您强烈希望保持您的工具链是典型的(比如令或CMake的的等等),或者您觉得您的发布是如此复杂以至于标准工具无法破解它,这些情况您应该选择自己创建。请跳转到Q2。Q2

  • Q2单元测试风格(UNITY TESTING STYLE)

问题2指导我们选择是否需要安装CMock。您可以使用统一测试许多模块。您甚至可以创建自己的存根和假货,以自己进行一些交互测试。然而,自己创建会花费很多时间,特别是当CMock通常可以为您完成时。

您可以使用我们的任何工具进行基于状态的测试。除非您愿意自己做很多额外的工作,否则交互测试需要工具支持。您期望做什么样的测试?

A>我只想要最基本的单元测试;

B>我不想使用额外的工具;

C>我想自动生成模拟和存根以进行交互测试;

d>我希望保持我的选择

CMOCK

如果您觉得自己适合Ç或d,那么您将需要安装CMock。且统一将自动作为其中的一部分下载.CMock将通过将其指向头文件自动为您生成一些测试代码来增强您的单元测试,阅读CMock,安装它,然后继续前进到第三季度。

统一

团结是我们Ç的核心测试框架,它是用Ç语言编写的,适用于Ç开发人员。它专门用于嵌入式使用,但也可用于其他Ç项目。它有一些选项红宝石脚本,但您可以根据需要忽略它们。阅读Unity,安装它,然后继续学习Q3。

  • Q3构建引擎(BUILD ENGINE)

如果您要组建自己的构建过程,您应该用您最熟悉的构建工具来构建它。这里有一些关于我们个人使用的工具的注释。

遗憾的是,这并不是构建引擎选项的详尽列表,但选择与您的场景最接近的匹配应该会给您一个有用的开始。

A>  Make(老忠实)

B>视觉上的东西(比如CMake

C>无论你推荐什么(Rake

  • Q4 TEST RUNNER

我们已经到了最后一步。这是您最需要进行一些研究的地方。现在是时候弄清楚实际运行测试的最佳选择。您可以阅读适合您的概述简单描述简单描述有用的文章,然后做出决定并按照链接获取有关配置的一些建议。

您可以通过多种方式运行测试,您可以在此处详细了解这些选项对话对话。

A>  模拟器(模拟器)

B>  原生可执行文件(Native Executable)

C>  嵌入式目标(On Embedded Target)(请先阅读这里

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值