kotlin学习笔记——单元测试
来源:互联网 发布:eclipse新建java工程 编辑:程序博客网 时间:2024/06/05 03:04
Kotlin学习笔记系列:http://blog.csdn.net/column/details/16696.html
Unit Test
kotlin也可以进行unit testing,如果项目中之前没有,那么需要做一些准备工作。
首先引入依赖
testCompile 'junit:junit:4.12'
这里注意不能是androidTestCompile,否则会报错Unresolved reference: xxxx
然后创建目录
在src目录下(main的同级)创建test/java目录,创建完会发现java目录的颜色自动为绿色,表示ide知道我们要使用unit testing模式。
在java目录下创建package(与项目主包名一致)
创建测试代码
在package下创建测试类编写代码即可,例如:
import org.junit.Test
import kotlin.test.assertTrue
class SimpleTest {
@Test fun unitTestingWorks() {
assertTrue(true)
}
import kotlin.test.assertTrue
class SimpleTest {
@Test fun unitTestingWorks() {
assertTrue(true)
}
}
运行即可
Instrumentation Test
与unit testing一样,首先引入依赖
defaultConfig { ... testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations'})androidTestCompile ("com.android.support.test.espresso:espresso-contrib:2.2.1"){ exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'support-v4' exclude group: 'com.android.support', module: 'support-annotations' exclude module: 'recyclerview-v7'}
exclude去掉一些依赖,防止重复引入
(contrib这个增加了一些额外功能,比如测试recyclerview)
然后创建目录,与unit一样,只不过根目录不是test而是androidTest,其他一样。
创建测试代码
import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.action.ViewActions.click
import android.support.test.espresso.assertion.ViewAssertions.matches
import android.support.test.espresso.contrib.RecyclerViewActions
import android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom
import android.support.test.espresso.matcher.ViewMatchers.withId
import android.support.test.rule.ActivityTestRule
import android.support.v7.widget.RecyclerView
import android.widget.TextView
import org.junit.Rule
import org.junit.Test
class SimpleActivityTest {
@get:Rule
val activity = ActivityTestRule(MainActivity::class.java)
@Test fun testItem(){
onView(withId(R.id.recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition<RecyclerView.ViewHolder>(0, click()))
onView(withId(R.id.textView)).check(matches(isAssignableFrom(TextView::class.java)))
}
import android.support.test.espresso.action.ViewActions.click
import android.support.test.espresso.assertion.ViewAssertions.matches
import android.support.test.espresso.contrib.RecyclerViewActions
import android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom
import android.support.test.espresso.matcher.ViewMatchers.withId
import android.support.test.rule.ActivityTestRule
import android.support.v7.widget.RecyclerView
import android.widget.TextView
import org.junit.Rule
import org.junit.Test
class SimpleActivityTest {
@get:Rule
val activity = ActivityTestRule(MainActivity::class.java)
@Test fun testItem(){
onView(withId(R.id.recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition<RecyclerView.ViewHolder>(0, click()))
onView(withId(R.id.textView)).check(matches(isAssignableFrom(TextView::class.java)))
}
}
testitem中第一行代码是模拟点击recyclerview的第一个item。第二行是判断id是textview的组件是否是TextView。
阅读全文
0 0
- kotlin学习笔记——单元测试
- Kotlin学习笔记——Kotlin中的null安全
- kotlin学习笔记001——kotlin简介
- Kotlin学习笔记——标准库kotlin
- Kotlin学习笔记——标准库kotlin.system
- Kotlin学习笔记——标准库kotlin.io
- Kotlin学习笔记——标准库kotlin.collections
- Kotlin学习笔记——安装配置kotlin
- kotlin学习笔记——Kotlin Android Extensions
- Kotlin学习笔记——基本类型
- Kotlin学习笔记——Day1
- Kotlin学习笔记——Day2
- Kotlin学习笔记——使用databinding
- Kotlin学习笔记——注解
- Kotlin学习笔记——泛型
- Kotlin学习笔记——Dagger2
- Kotlin学习笔记——填坑
- 学习笔记之——初识Kotlin
- 理解伪元素 :before 和 :after
- 学习笔记:音频之手机物理按键
- 【算法】插入排序-js实现
- 我的第一篇博客-写写时间戳的问题吧
- 事件分发机制解析
- kotlin学习笔记——单元测试
- spring配置文件抽取数据库配置信息
- eclipse更改目录查看结构
- Quartz2D简介
- 阿里云轻量应用服务器解读,为中小企业提供数字化的解决之道
- [App] FTP 本地用户服务器
- Python Print 打印不换行
- linux 常用日期 查询前一天 当月1号 上个月第一条和最后一天 上个月
- Docker-compose的安装与卸载