Android Things

Android Testing Codelab

2016-03-25  本文已影响580人  jackLee

Android测试代码实验室



学习笔记:

教程目录:

整个教程分为了11个部分:


知识点笔记
上述目录的第1节到第3节都是简单的概念没有特别需要注意的地方,从第四节开始记录:
第4节介绍了MVP的设计模式:
在Android开发中,我们可以使用不同的层次结构来进行开发,但是一种好的设计模式可以使得我们的APP代码更容易测试和被人理解。MVP就是一种好的设计模式,使用MVP模式能将我们APP的数据和视图以及逻辑进行很好的分离,提高了代码内聚降低了耦合。
**MVP全名:Model-View-Presenter,如下图 **

MVP.png
Model

第5节讲了关于MVP模式的最佳实践

项目文件包.png View_layer.png presenter_layer.png
注意:想学习MVP更多知识请参考其他文章。

第6节:使用JUnit4 和 Mockito进行单元测试

基础概念:


最佳实践

Project视角下的Src目录.png
补充知识:
如上下图所示:在project视角下的src/文件夹下,有test,AndroidTest,Main等若干个目录,根据Google文档的说法,每一个目录代表了一个不同的产品口味。我们定义了四种不同的文件集,用于不同编译和测试的流程,用于不同代码的测试,这样做使得我们开发测试变得简单了很多。
另外:所有的单元测试的代码都在test目录下。
Src下的文件目录.png

为我们的开发环境添加JUnit4的依赖:
<code>
dependencies {
// Required -- JUnit 4 framework
testCompile 'junit:junit:4.12' //01
// Optional -- Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19' //02
}
</code>
解释:

添加完依赖后,就可以写测试用例了
比如需要测试一个是否为邮箱地址的方法是否正确:test/文件夹下代码如下
<pre>

import org.junit.Test;
import java.util.regex.Pattern;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class EmailValidatorTest {
@Test
public void emailValidator_CorrectEmailSimple_ReturnsTrue() {
assertThat(EmailValidator.isValidEmail("name@email.com"), is(true));
}
...
}

</pre>


单元测试参考文档:


上一篇下一篇

猜你喜欢

热点阅读