问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-08-14 01:08

我来回答

1个回答

热心网友 时间:2024-11-13 15:33

在Android Studio中可以进行单元测试
很多的文章指导你应该在“build.gradle” 文件里面添加几行代码从而允许单元测试,并且告诉你应该在项目依赖中添加Android测试库。
其实你并不需要按照这种错误的方式去做,因为这是完全没有必要的。
Android Studio本身就支持Android单元测试,你只需要在你的项目中配置一下就可以了。
注意:还有好几种广受欢迎的Android单元测试框架,比如Robolectric,它们比我在这里提到的需要更多的配置,我希望在未来可以以这个题目再写一些指导文章。
创建你的单元测试文件夹
我喜欢把单元测试放在我的主项目里面,比如“com.mypath.tests.” ,你可以把测试目录放到你想要的地方。开始之前,像下面这样,先创建你的测试文件夹。(译者注:这一步不是必须的,你也可以把单元测试类创建在与Android Studio默认的ApplicationTest类相同的路径下面)

接下来,创建一个叫做 “ExampleTest”的类,注意要继承自InstrumentationTestCase类

然后可以添加一个简单的测试代码,我们知道这段代码肯定会运行失败
public class ExampleTest extends InstrumentationTestCase {
public void test() throws Exception {
final int expected = 1;
final int reality = 5;
assertEquals(expected, reality);
}
}1234567

注意:所有的测试方法必须以”test”开头,这样Android Studio才能自动的找到所有你想要进行单元测试的方法。
为你的项目配置单元测试
现在我们已经有了一个会运行失败的测试单元,我们必须把它run起来。
首先点击”Run-> Edit Configurations”

然后点击“+”从左边弹出的列表里,选择添加一个 Android Tests,然后你可以在右上角给它改名为你想要的名字。

然后就会创建一下像下面这样的测试项目配置

从下拉菜单中选择你当前的mole

接下来,选择”All in Package”选项,然后把你的刚才创建的测试文件夹选中。你也可以选择“All in Mole”选项,这样Android Studio会自动的找到你整个Mole中的所有测试单元,你也可以通过另外的选项,指定某一个类甚至是测试方法。
做完这一切之后,看起来应该像下面这样

我也喜欢选中下面的“Show chooser dialog”,这样当每次运行的时候,我可以指定如何去运行

现在点击”Apply”然后关闭,你现在应该可以看到你的测试案例已经作为一个可以运行的项目配置在Android Studio上面的工具栏上了

运行我们的单元测试
我使用Genymotion来完成所有的事情,所以开启你的Genymotion然后运行test
在assertion这一行添加一个断点,然后点击 “run debug mode”,目的是为了证明Android Studio确实执行了我们的单元测试。

当你开始你的测试工程之后,你会看到一个叫做“Running Tests…”的显示窗口

当你的测试没有通过,点击“Logcat”然后查看综合的输出结果,看下我们测试失败的原因

通过控制台,你会发现给出的错误理由应该是
“junit.framework.AssertionFailedError: expected:<1> but was:<5>”1

恭喜你,你已经成功测试出错误啦~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 一般集体宿舍的暖气一年第一次开多久才会热 新家法打麻将女演员的是谁 诱惑,看了把持不住啊 留守妈妈带3孩子自杀,看了心痛啊,大家看了吗 《恶魔在身边》大家看了没啊?感觉怎样? 草地的英文是什么? 谁买过海獭家的红虾?可以给宝宝当辅食吗? 进口海产品那个品牌比较好? 阿根廷红虾谁家最有名 喝什么茶对养肝好 艾尔登法环嘎子什么意思 冤家父子为什么被禁播啊~? ...偏方最好?生完孩子后脸上长了斑,有办法去掉吗?祛斑方法讲究有哪些... 脂肪粒怎么除呢?有谁去除掉吗? 衣服上的油渍怎么去除,怎么洗啊能用去渍霸吗 怎样去除痘印啊?怎么样才能有效的去除痘印,你有好的办法吗?介绍一下... 我脸上有小黑色点点。小时候就有,有什么办法去除嘛? 倒骑毛驴是什 一个男人越有本事,越不会娶哪三种女人,很现实? 吃什么可以解渴 铁路项目开通需要具备哪些条件? 开通铁路能带来什么? 24橙装要多少灵魂薪尘 锻造的橙装胚子腰带1到4级需要多少材料 各位MM,毒药这款香水是哪个国家生产的呢?? 每日一题: 有一个自然数在30和40之间,用4去除余3,用5去除余4,那么这个... 相聚梦一场 到别离到今朝是哪首歌的歌词 ...影片讲述的故事是一对夫妻因为女方想出国,而男方不同意最后离... 电影《一次别离》中,最后一段一家人去给钱的时候,他们出来时表情为什 ... 清洁面膜和护肤品使用顺序 铃木六七千的踏板摩托车值得买不? 四千到五千的110或者125踏板摩托车推荐,希望大神能推荐个好车子? 霸王别姬 导演 时代的经典,为何说《霸王别姬》是中国电影的巅峰作品? 霸王别姬导演是谁 舟山市好当佳理财顾问有限公司怎么样? 舟山工行海岛系列理财产品怎样? 舟山地区哪些理财公司的个人理财业务做的比较好? 舟山金晟金融理财公司 舟山朴锐资产管理有限公司怎么样?