[嵌入式TDD实战]TDD开发AT26DF驱动模块(一):初始化工程

前言

上一章中,我们配置好了我们的开发环境。接下来终于要开始动手开发我们的驱动模块了。你可以先悄悄看看开发出来的模块最终长什么样

初始化工程

首先,我们把ProTempletWithUnity复制一份,名字改成AT26DFTestPro,这就是我们的测试工程了。

然后再新建一个文件夹叫AT26DFDriver,里头建好驱动的.h和.c文件,以及在里头再建个文件夹Test,里头放AT26DFTest.c和AT26DFTestRunner.c,这是驱动的测试文件:


我们打开AT26DFTestPro\UnityTestPro.sln
把几个文件拖进工程里,两个Test对应Test工程,真正的文件就拖进ProductionCodeLib里,然后大概就这么个布局。

然后先给test文件随便配置下,建立个测试组,以及随便加个空测试进去:

AT26DFTestRunner.c

#include "unity_fixture.h"

TEST_GROUP_RUNNER(AT26DF)
{
  RUN_TEST_CASE(AT26DF, NULL);
}

AT26DFTest.c

#include "unity_fixture.h"
#include "AT26DF.h"


TEST_GROUP(AT26DF);

TEST_SETUP(AT26DF){
}

TEST_TEAR_DOWN(AT26DF){
}

TEST(AT26DF, NULL){

}

双击UnityTest工程下的AllTest.c

为了把这个测试组注册进工程中,我们要照着模版,加入新的测试组。

#include "unity_fixture.h"

void runAllTests(void){
  RUN_TEST_GROUP(RuntimeErrorStub);
  RUN_TEST_GROUP(AT26DF)
}

这样就随便加了个空测试进去。我们在UnityTest工程项上右键-生成

呀,报错了。

我们在前面的博文描述过这个问题,这是由于我们在AT26DFTest.c中include了AT26DF.h,而对于UnityTest来说,他并不知道此文件在哪导致的,我们需要将其路径添加进工程的包含目录中。项目项上右键-属性,打开属性页。

在 配置属性 - C/C++ 中,看到了“附加包含目录”项,项目所有用到的.h文件都应该能从这个列表中找到。
我们加进去AT26DF.h文件所在的目录:

然后再次生成:

就可以在输出中看到多测了一个测试,本来是两个的。
如果不信的话可以加一个命令行参数 -v 来看更细节的步骤:


看,刚刚安装的测试TEST(AT26DF, NULL)出现在输出中了,并且PASS了。

既然都配好了VS中的,那我们就顺便来配下CW中的吧。这就简单多了。

首先双击打开mcp文件

长这个样子。

然后我们把那几个文件拖进来,放好位置

然后直接运行吧,不会运行的回去看上一章。


怎么让CW中详细打印呢?

双击打开main.c文件

看到这个注释掉的"-v"没?取消注释,然后重新运行测试。

好了,搞定。

结语

至此,我们就搭建好了这个驱动模块的最基础框架了,接下来我们看看芯片手册,再思考思考怎么写这个模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值