单元测试Android应用程序逻辑
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了单元测试Android应用程序逻辑,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2719字,纯文字阅读大概需要4分钟。
内容图文
想要为我的应用程序编写一些测试,我偶然发现了Android testing pages.经过相当长的阅读,很快就发现我可以从中获得的唯一信息是有关如何测试UI /活动的信息.我真正想要的是用简单的蚂蚁测试来测试我的逻辑的方法,最好是甚至不涉及设备.我应该在这个阶段提到我没有使用Eclipse,而且令人非常难过的是,Android上99%的Java资源都假设人们这样做.
在任何情况下,尝试运行任何东西,我尽可能多地和教程一起玩.它要求测试目录与src在同一级别上.当然,即使他们的每一页都暗示测试项目是一个完全独立的实体.在顶级项目目录中,我跑了
android create test-project -m / path / to / my / project / -n MyProjectTest -p tests.值得一提的是,他们非常不同意他们想要如何设置事项as seen on this question.访问目录时,我发现了默认的测试文件.这是问题的开始.
据我了解,测试完成如下:构建应用程序,安装;去测试,构建测试,安装;使用ant test从tests目录运行测试,或者使用adb shell am instrument直接启动它们.这很好.但是我不想测试活动,只想测试逻辑(不访问任何视图/活动).
更改默认测试以扩展AndroidTestClass似乎已经有一段时间了.测试正在运行,但有一些警告:使用ant clean清理测试也清理了项目目录(../tests),因此在干净的环境中构建测试需要花费很长时间(这是必要的,因为蚂蚁调试在检测更改时看起来很糟糕)但它很有效,我很高兴.
之后几乎没有测试,我在我唯一的测试类上得到了java.lang.VerifyError.谷歌搜索和堆叠,它归结为外部库的错误或类路径错误.我没有使用任何外部.jars所以它可能是我的道路.
无论如何,这是我的问题:
使用JUnit在Android应用程序中单元测试逻辑的Proper Way?是什么?我根本无法找到任何资源:所有资源都用于测试UI部件或用于测试普通应用程序的单元.
我怎样才能单独测试我的逻辑?这甚至不需要设备运行,因为我不需要使用Android的任何部分.我在哪里进行测试?我需要更改什么,以便在我的项目目录中运行ant测试然后运行那些?
解决方法:
很久以后我就成功了.
首先,我忽略了使用adb创建任何项目.
想象一下,我的包名为com.foo.bar.我在src / com / foo / bar / tests中创建了测试.在那里,编写常规的JUnit测试.确保将包com.foo.bar.tests放在测试类中.这是一个示例类:
package com.foo.bar.tests;
import com.foo.bar.baz.Foo;
import org.junit.*;
import junit.framework.*;
import static org.junit.Assert.*;
public class MyTests extends TestCase {
public void testSomething() {
Foo testFoo= new Foo();
assertEqual(testFoo.getBar(), 1);
}
}
接下来是使用ant测试运行测试的情况.要实现此目的,请在最后一个右括号(< / manifest>)之前将以下内容添加到AndroidManifest.xml中:
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.foo.bar"
android:label="Tests for com.foo.bar"/>
你还需要
<uses-library android:name="android.test.runner" />
添加到您的<应用程序>部分.
我无法弄清楚需要改变什么才能在本地进行测试,而不是在设备上进行测试,但这是75%的答案,希望将来对我这样的人有所帮助.
编辑:
通过在build.xml中的最后一个导入下面添加以下内容,可以隐藏原始的ant测试行为:
<target name="test" >
<junit>
<!-- all your junit stuff here -->
</junit>
</target>
内容总结
以上是互联网集市为您收集整理的单元测试Android应用程序逻辑全部内容,希望文章能够帮你解决单元测试Android应用程序逻辑所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。