安卓 unit 测试与 instrument 测试的代码共享

假如你有一款安卓应用,其包含一系列测试类,其中一部分是unit 测试(位于 src/test),其余为instrument 测试(位于 src/androidTest)。

那么问题来了:你有一些想在所有测试之间共享的实用程序代码,但是 src/test 无法使用来自 src/androidTest 的代码,反之亦然。虽然 也可以 把代码放入 src/main 中,但还是想尽量避免移动测试代码。那么,到底怎样在测试之间共享代码呢?

我想到的解决办法就是,利用源集 (source sets)定义公共代码。首先,将共享测试代码放入 src/sharedTest/java1 中,然后往 build.gradle 中添加如下代码:

android {
    sourceSets {
        String sharedTestDir = 'src/sharedTest/java'
        test {
            java.srcDir sharedTestDir
        }
        androidTest {
            java.srcDir sharedTestDir
        }
    }
}

以上代码会将共享代码目录 添加testandroidTest 源集(source sets)中。现在,这些源集中不仅包括默认的 Java 源码,还包括共享代码。

哈哈!现在 testandroidTest 就可以共享实用程序代码了。

原文地址:http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/

本文转自 OneAPM 官方博客

时间: 2024-08-03 17:49:19

安卓 unit 测试与 instrument 测试的代码共享的相关文章

安卓单元测试全攻略,让代码测试一劳永逸

本文讲的是安卓单元测试全攻略,让代码测试一劳永逸,安卓单元测试,只看这一篇就足够啦.真正的完全解析,真正的从0到1,Junit结合Mockito与Robolectric实现从M到V再到P,Jacoco扫描函数.逻辑.代码行数单元测试覆盖率100%的全面测试.你是否还在为了验证联网与未联网状态而频繁的开关WiFi开关?或者你是否还在为一个switch判断而频繁的使用debug断点setValue来观测代码的逻辑判断情况?又或者你是否还在为了校验某个UI文案的正确性而反复的比对UI稿?可能你会反问,

安卓6.0真机测试遇到闪退

问题描述 安卓6.0真机测试遇到闪退 eclipse中 运行时报 ClassLoader referenced unknown path: /data/app/XXX-1/lib/arm64 黄色警告 但是再4.4 和5.0系统都不会报错 这个应该怎么办 解决方案 不要用eclipse,改用Android Studio

java-Java 8 代码要写junit测试,但是看不懂代码请大神指教

问题描述 Java 8 代码要写junit测试,但是看不懂代码请大神指教 @Bean public Jackson2ObjectMapperBuilder jacksonBuilder() { Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); builder.indentOutput(true) .serializerByType(LocalDate.class, new JsonSerializer

《Metasploit渗透测试手册》—第8章8.6节移植并测试新的漏洞利用代码模块

8.6 移植并测试新的漏洞利用代码模块 Metasploit渗透测试手册 在上节中学习了怎样使用可用的概念验证代码开发完整的Metasploit模块,本节中将把该模块保存到合适的位置,并测试其是否正常运转. 准备 了解漏洞利用代码模块要存储的文件夹位置是非常重要的,有助于追踪不同模块所在位置,同时也有助于Metasploit框架理解模块的基本用法.完整的模块脚本构建完成之后,在合适的位置将其保存. 怎样实现 由于上面开发的是漏洞利用代码模块,针对的目标是Windows操作系统,影响的是特定的文件

求C#测试网站是否挂掉的代码

问题描述 求C#测试网站是否挂掉的代码比如五分钟访问一次网站,如果网站挂掉,则弹出对话框提示 解决方案 解决方案二:ping下网站解决方案三:HttpWebRequest和HttpWebResponse的应用Postedon2007-08-2810:21yiki阅读(2468)评论(3)编辑收藏网摘所属分类:ASP.NETHttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(addr);//DownloadstheXMLfilefromt

诺基亚首款安卓机Nokia X变态测试:摔打7分钟仍能开机

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 虽然诺基亚现在的处境已经大不如前,但是旗下手机给国人留下了的印象还是很深刻的,比如皮实.耐摔等等. 前段时间诺基亚推出了首款安卓手机Nokia X,虽然售价只有599元,但其依然继承了诺基亚扎实的做工.不是说诺基亚手机耐摔吗,现在就来看看有多耐摔吧. Nokia X的耐摔测试相当变态,经过了近7分钟的折磨后,这款手机依然照样开机,正常运行,简

如果喜欢拯救世界,那就选择测试吧 -《测试技术七月刊》

业界前沿 2016移动app测试的7个趋势 移动应用测试是移动应用能否取得商业成功的决定性因素.独一无二并不能让你的移动应用在市场中独领风骚,这是因为用户们都很挑剔,他们会因为移动应用的功能.弱网.程序崩溃或者复杂的人机交互以及跨平台兼容性等等诸如此类的问题而卸载掉你的应用.所以,有效的移动应用测试方案是非常好的一个途径让你的移动应用可以给用户带来超赞的体验并获得商业上的成功.然后,要拟定出一份有效的测试方案,请务必关注以下7个新兴的移动应用测试趋势. 解读Android官方MVP项目单元测试

google测试分享-分层测试

作为互联网产品来说,我们可以认为产品一直都在beta阶段,为什么这么说.两个原因一个是是我们需要用户的真实体验来告诉项目团队这个产品的质量到底怎么样,另外一个就是我们一旦发现影响较大的bug,我们可以很快的fix bug,让产品体验得到迅速的提升.       在互联网产品的新项目启动过程中,google为了让SET和TE都能在项目中发挥更大的价值,同时为了让开发人员具有很高的测试意识和质量意识,特意将项目的测试阶段分成三个阶段: 小型测试:主要包括单元测试.模块测试,使用mock.fake 等

《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 1.7 测试,再测试,进行更多的测试

1.7 测试,再测试,进行更多的测试 对于目前网络设备的现状,测试是确保所创建网站是否能跨多个设备运行的唯一方法.测试一直贯穿着整个项目,从开始到结束,都要抓住任何机会进行测试.如果规划的是一个多设备项目,那么,在整个项目中,多达40%至50%的时间将会用来测试.这是个很严肃的问题. 如果找不到实际设备的代替品来做测试,则可以着手建立一个库,并放入尽可能多的设备.如果单位附近有其他机构,还可以考虑集中资源,以获得范围更广的设备.许多城市都在组建设备实验室,其中有各种设备可供任何人使用,这些设备均