安卓单元测试(九):使用Mockito Annotation快速创建Mock

2017-03-16
阅读 5 分钟
4.2k
虽然很简单,但是如果一个测试类里面很多测试方法都要用到mock,那写起来就会有点麻烦,这时候我们可以写一个@Before方法来作这个setup工作:

安卓单元测试(八):Junit Rule的使用

2016-07-10
阅读 4 分钟
8.5k
一个JUnit Rule就是一个实现了TestRule的类,这些类的作用类似于@Before、@After,是用来在每个测试方法的执行前后执行一些代码的一个方法。

Android单元测试(七):Robolectric,在JVM上调用安卓的类

2016-06-08
阅读 8 分钟
5.9k
今天讲讲Android上做单元测试的最后一个难点,那就是在JVM上无法调用安卓相关的类,不然的话,会报类似于下的错误: java.lang.RuntimeException: Method isEmpty in android.text.TextUtils not mocked.

Android单元测试(六):使用dagger2来做依赖注入,以及在单元测试中的应用

2016-05-16
阅读 24 分钟
5.7k
注: 代码中的 //<= 表示新加的、修改的等需要重点关注的代码 Class#method表示一个类的instance method,比如 LoginPresenter#login 表示 LoginPresenter的login(非静态)方法。

Android单元测试(五):依赖注入,将mock方便的用起来

2016-05-08
阅读 4 分钟
8.3k
在上一篇文章中,我们讲了要将mock出来的dependency真正使用起来,需要在测试环境下通过某种方式set 到用到它的那个对象里面进去,替换掉真实的实现。我们前面举的例子是:

Android单元测试(四):Mock以及Mockito的使用

2016-04-30
阅读 12 分钟
20.8k
几点说明: 代码中的 //<== 表示跟上面的相比,这是新增的,或者是修改的代码,不知道怎么样在代码块里面再强调几行代码T_T。。。 很多时候,为了避免中文歧义,我会用英文表述

Android单元测试(三):JUnit单元测试框架的使用

2016-04-18
阅读 6 分钟
9.3k
我们写单元测试,一般都会用到一个或多个单元测试框架,在这里,我们介绍一下JUnit4这个测试框架。这是Java界用的最广泛,也是最基础的一个框架,其他的很多框架,包括我们后面会看到的Robolectric,都是基于或兼容JUnit4的。 然而首先要解决的问题是。。。

Android单元测试(二):再来谈谈为什么

2016-04-16
阅读 5 分钟
5.5k
今天早上8点半坐到桌子前,打开电脑,看了几分钟体育新闻,做其他一些准备工作,到9点开始真正开始着手写这篇文章。于是开始google,找资料,打算列一大段冠冕堂皇的理由,来说明为什么要写单元测试,比如:

Android 单元测试: 首先,从是什么开始

2016-04-13
阅读 5 分钟
20.2k
这是一系列安卓单元测试的文章,目测主要会cover以下的主题: 什么是单元测试 为什么要做单元测试 JUnit Mockito Robolectric Dagger2 一个具体的app例子实践 神秘的bonus 什么是单元测试 首先需要介绍一下什么是单元测试。很多人像我一样,本科并不是计算机专业出身的,如果在职的公司不要求做单元测试的话,可能对这个...

《Clean Code》阅读:在大师们的眼中,什么样的代码才是好代码

2016-03-04
阅读 5 分钟
4.1k
前几天开始看Uncle Bob的《Clean Code》,在第一章里,作者讨论了这样的一个问题:什么样的code才是Clean code。对于这个问题,一千个Programmer可能会有一千个答案,所以作者请教了6个著名的专家,问问他们对于这个问题的看法,以下三个是我认为不那么虚的,比较有操作参考意义的回答:

FactoryGirl在Rails中的使用

2016-02-29
阅读 3 分钟
4.1k
FactoryGirl is a gem aimed at replacing Fixtures. If you wonder that, take a look at what's wrong with fixtures.

Nginx with Unicorn to serve your rails app

2015-12-20
阅读 2 分钟
3.6k
This is currently the most popular solution to serve rails apps and is used by many big companies like Github, tweet, 37signals and so on. Also, it is very easy to setup in this way.

Shell命令行中的特殊字符及其转义(去除特殊含义)

2015-10-12
阅读 2 分钟
45.8k
我们知道,在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给cat命令. 但是, 如果参数中含有特殊字符, 比如说*, *我们知道,是表示任意多个(包括0个)任意字符. 那么shell的工作方式是,它会对这些特殊字符进行预先处理, 然后再将处理的结果传给...

Ruby file操作cheatsheet

2015-10-06
阅读 2 分钟
3.4k
每次都要查,真是蛋疼,不如一次性总结一下,以后再不记得就来这里找好了。以下代码中需要用到的文件名:filename = ‘testfile.txt’

用Robolectric来做Android unit testing

2015-06-14
阅读 7 分钟
35.1k
作为一只本科非计算机专业的程序猿,手动写单元测试是我从来没接触过的东西,甚至在几个月前,我都不知道单元测试是什么东西。倒不是说没听过这个词,也不是不知道它的大概是什么东西——“用来测试一个方法,或者是一小块代码的测试代码”。然而真正是怎么做的?我并没有一个概念,或者说并没有一个感觉。 记得第一份工作在...

Otto: No more callbacks

2015-05-31
阅读 5 分钟
5k
你要做一个todo app,有一个Activity里面有一个ListView显示你所有的task,你的数据存储在服务器。假设你没采用任何的软件架构(MVC、MVP、MVVM等等),每次app打开的时候,你从服务器把数据load下来,load完了以后,通过callback把数据传给Activity,然后显示到listview里面。代码结构大概是这个样子

Java 8的Lambda及其在Android 开发中的应用

2015-05-29
阅读 4 分钟
12.2k
上面的两段代码是完全等效的,但是代码行数从11行降低到了一行,更不用说在第一段代码里面,我在run方法的前后以及内部都没有加入任何的空行。由此可以看出,使用lambda可以让你的Java代码在某些情况下达到何等的简洁。那么问题来了。。。