android真机单元测试,Android 单元测试入门
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Unit Test
Start
简单了解一下,如何依赖 Junit 进行 Java 代码的单元测试。依旧如何借助 Robolectric 进行 Android 方面的单元测试,主要是 Context 的获取。最后就网络请求的单元测试,简单叙述一下。
JUnit依赖1testImplementation 'junit:junit:4.12'example1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16public class{
private static final String TAG = "Tools";
public static String getCurrentTime(){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss", Locale.CHINA);
Date curDate = new Date(System.currentTimeMillis());
return simpleDateFormat.format(curDate);
}
public static String getCurrentTime(long tempStap){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年", Locale.CHINA);
Date curDate = new Date(tempStap);
return simpleDateFormat.format(curDate);
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19public class ToolsUnitTest{
public static void setUp(){
System.out.println( ToolsUnitTest.class.getSimpleName()+ "=====单元测试开始");
}
@AfterClass
public static void end(){
System.out.println( ToolsUnitTest.class.getSimpleName()+ "=====单元测结束");
}
@Test(expected = NullPointerException.class)
public void getCurrentTimeTest(){
assertNotEquals("1111",Tools.getCurrentTime());
assertEquals("2019年",Tools.getCurrentTime(System.currentTimeMillis()));
}
}
执行顺序: @BeforeClass –> @Before –> @Test –> @After –> @AfterClass可用 API
都是 Assert 的静态方法,对有返回值的方法,用断言非常好用,你甚至可以测试异常高级用法@RunWith(Parameterized.class) 参数化
assertThat用法
@Rule用法问题来了1public static String getAppVersion(Context mContext){ ... }
Android 中的 context 怎么搞 ?
Robolectric配置依赖1
2
3
4testImplementation 'androidx.test:core:1.2.0'
testImplementation 'androidx.test:rules:1.2.0'
testImplementation 'androidx.test.espresso:espresso-core:3.2.0'
testImplementation 'org.robolectric:robolectric:4.3'允许 robolectric 读取 assets、resources 和 manifests,在 build.gradle 中添加
一定要添加以下配置,否则将导致单元测试运行异常
一定要添加以下配置,否则将导致单元测试运行异常
一定要添加以下配置,否则将导致单元测试运行异常1
2
3
4
5testOptions {
unitTests {
includeAndroidResources = true
}
}在 gradle.properties 中添加1android.enableUnitTestBinaryResources=true
example1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25@RunWith(RobolectricTestRunner::class)
@Config(sdk = [27])
class RobolectricUnitTest{
@Test
fun assertContext() {
val context = ApplicationProvider.getApplicationContext()
val version = AppUtils.getAppVersion(context)
// 单元测试,也可以打印日志
println("version ==$version")
assertEquals("1.0", version)
}
companion object {
fun setup() {
// for Fresco
SoLoader.setInTestMode()
}
}
}
单元测试也可以用 Kotlin 写,
android真机单元测试,Android 单元测试入门相关推荐
- 高版本Android真机逆向测试环境搭建
高版本Android真机逆向测试环境搭建 618购入了新机Xiaomi K50,真滴便宜又好用,续航很强界面很丝滑.正好拿来做逆向测试机? 怎么可能!这也太奢侈了!不过淘汰的Xiaomi Note 7 ...
- Xamarin Android真机测试报错
Xamarin Android真机测试报错 Xamarin Android真机测试报错,错误信息为INSTALL_CANCELLED_BY_USER.出现这个错误,通常都是真机上开发者选项设置错误.由 ...
- Xamarin.Android真机测试提示[INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Xamarin.Android真机测试提示[INSTALL_FAILED_UPDATE_INCOMPATIBLE] 使用真机测试的时候,出现以下错误提示: Deployment failed beca ...
- as真机调试_如何使用真机调试android程序
展开全部 第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置32313133353236313431303231363533e59b9ee7ad94313 ...
- HBuilder Android真机调试
关于调试 难者不会,会者不难.对于调试,这句话尤其合适.无论是前端调试.Java调试.PHP调试.Python调试,还是我们这次要研究的HBuilder Android真机调试,都是一个道理.欲速则不 ...
- mac 无法识别android,mac 无法识别android真机
mac 无法识别android真机 mac不能识别android真机,一种系统问题,真的不能识别:还有一种就是你的adb没有开启. 1,查看adb是否开启 zhangyingdeMacBook-Pro ...
- Android真机连接Eclipse时,打不开File Explorer下的data文件夹解决方法
当用真机开发Android时,连接了Eclipse后,默认在File Explorer下是达不开我们手机的data文件夹的,这里打不开是因为权限不足.以下有个小技巧可以解决这问题. 首先,测试机先ro ...
- android真机调试步骤
android真机调试步骤 真机调试步骤: 1.windows系统 需要安装手机驱动,可以手机官网下载,也可以直接安装该手机的电脑版手机助手(一般是会自动安装驱动) 2.手机开启开发者模式,设置里面, ...
- Android 真机连接本地PC服务器
Android 真机连接本地PC服务器 开发Android程序时涉及到网络通信,能不能像开发PC的Web应用一样,将本地PC机当服务器用呢?很显然,这个技术性问题肯定有NB的人能搞定. 经过本人一番搜 ...
- 【Android真机app的性能测试(CPU,内存,启动时间)】
Android真机app的性能测试(CPU,内存占用,启动时间) 查看app启动时间 查看app的内存占用情况 查看app的CPU占用情况 查看app启动时间 与设备进行adb连接后,输入命令 adb ...
最新文章
- 在Ubuntu8.10下为PHP安装coreseek全文检索引擎支持的详细步骤
- C#中Socket通信编程的异步实现
- 08-CoreData学习总结
- 编程之美 1.12 nim(2)
- NetBeans 6.5 正式发布
- 人工智能AI实战100讲(六)-利用CNN来检测伪造图像
- Oracle传输表空间介绍
- Python学习 - 之super函数
- 文件流——Excel文件数据读写
- Linux环境无文件渗透执行ELF:memfd_create、ptrace
- 阿里云服务器ECS选型
- java mvc jquery weui_WEUI 事件绑定
- java 静态扫描_静态代码扫描工具 – (八)- 扫描Java项目
- S-MJLs和网络动态系统的分析与综合
- 微博认证怎么弄黄v:微博兴趣认证指定领域
- 苹果id注册邮箱方法
- 三层交换机配置实现不同网络互通
- QML之ubuntu下编译安装虚拟键盘中文输入法
- 新的一年,红包走起!
- 怎样查看自己的电脑是多少位的?
热门文章
- mysql msql_MySQL数据库学习二 MSQL安装和配置
- 设置mysql8的root可以远程访问
- BZOJ3522[Poi2014]Hotel——树形DP
- HDoj-1863-畅通project-并查集
- STM32中的位带(bit-band)操作
- 【转】C#获取当前日期时间(转)
- Android--------从一个包中的Avtivity创建另外另外一个包的Context
- RsyncServer服务无法启动的解决方法
- python笔记(一)——python中的类及内置函数
- 超级终端设置-基本配置(华为)