IntelliJ IDEA中如何使用JUnit4

8 篇文章 0 订阅
3 篇文章 0 订阅

背景
最近参与了一个Anroid医疗项目,其中项目底层有很多基础类及通讯类,而且很多涉及复杂的字节操作还有多线程同步及状态机处理。这样的项目做一下TDD还是必要的,尽量项目前期把风险降低一些。
现在的问题是本人使用的是IntelliJ开发的Android项目,刚开始还真不知道怎么下手。在参考了一些资料后,总结了一下IntelliJ中配置JUnit测试环境的步骤,希望对大家有帮助。

环境:
操作系统:Windows 7
IntelliJ版本:13.1
Android SDK API:19
Java Version:1.7
JUnit 4子版本:JUnit 4.11(IntelliJ自带)


步骤:
一、在项目的AndroidManifest.xml文件中做如下更改:
在application节点下添加

<uses-library android:name="android.test.runner"/>,如图:
在根节点下添加如下内容:
其中targetPackage跟你所在项目的包名相同(参见你的AppManifest.xml文件顶部:



二、为你所在项目添加如下jar包引用
1、junit-4.11
2、harmcrest-core-1.3
3、annotations

三、调整项目对jar包的引用顺序

做这个调整是因为我们使用的Android API中包含了JUnit 3.8,默认SDK是放在最前面的,否则代码中的Junit会被认为是Junit 3.8,那你就只能使用Junit 3的测试方式了。

四、在项目目录树中,创建一个与src平级的目录用于存放所有的测试类。
简单起见我使用的是tests.

除了创建目录,我们还需要指定新创建的目录为测试根目录:
右键tests目录,选择'Mark Directory As'--->'Test Sources Root'


五、在你的测试根目录下创建你的测试分类目录及具体的测试类
在测试类内部你需要的只是给测试方法加上@Test标注。

六、运行你的测试
1、在代码编辑界面,在你的测试方法体中点击右键,在弹出的菜单中选中以JUnit的方式运行

这种方式非常适合刚写完测试,亟待看到某个测试的运行结果的场景。

还有一种使用快捷键的方式来单独运行某个测试,我们只需要将文本焦点切换到某个测试方法中,然后在使用组合键Ctrl+Shift+F10就可以达到同上面一样的测试效果。

2、编辑运行Configuration
点击Configuration按钮,在弹出界面中按如下步骤创建一个JUnit运行配置



在弹出的配置窗口做简单的配置。具体配置细节请参见本文参考部分的《IntelliJ IDEA对JUnit支持的官方文档》部分。
这种方式适合于批量执行测试的场景。



回顾JUnit3的使用方式
1、让你的测试类继承自Testcase
2、每个测试方法名必须以小写test为前缀
备注:IntelliJ IDEA已经内部支持JUnit4,Android SDK中也至少对JUnit3做了支持,因此并不需要再从Maven中对JUnit进行依赖管控。除非你需要使用最新的JUnit中的某项特性。


更新:
2014-10-16: 在开启JUnit4.0功能后项目中涉及Android生命周期的测试类(比如AndroidTestCase)将没有办法运行。原因在于AndroidTestCase这些是由SDK支持的,但是SDK中引用的是JUnit3.8的类库,我的理解是如果你引用的是JUnit4.0,那么在运行时AndroidTestCase这些Android特有的测试依赖的JUnit3.8在运行时是不会加载的,测试运行器尝试加载该类测试时就会报错。 因此,如果你希望在你的项目中测试与Android生命周期相关的类的话,那就只能在项目中摒弃JUnit4。


参考:
在IntelliJ IDEA的项目中开启Annotations

IntelliJ IDEA对JUnit支持的官方文档

IntelliJ IDEA提供的JUnit测试的Sample项目


ADT中如何配置JUnit

JUnit4测试说明:

JUnit4在IntelliJ IDEA中的使用(应该有三篇,但是只有后两篇可见。可能第一篇就是将配置的,但是不可见--有点遗憾)

Android单元测试初探--Instrumentation

IntelliJ IDEA和ADT的持续测试插件Infinitest

ADT中使用JUnit的一个教程

一个老程序员的Android测试驱动开发实践系列3篇(主要侧重界面交互测试)








  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值