我有一个关于技术或方法的问题,我可以用来快速测试我的代码和只是。最近我遇到了困难&我正在开发一个Android项目时,对于测试我的代码感到沮丧。每次当我想测试我的代码时,我不得不再次重新编译整个项目并等待模拟器重新安装应用程序,至少需要40~50秒来检查一些代码工作正常。有没有什么方法可以编译或测试一小部分代码/ 1~2种方法,而不必每次都重新编译整个项目?哪一个是行业中最新和最广泛使用的?
=====================================
其他问题。我已经对Java的JUnit测试做了一些研究,但是JUnit是我在寻找什么?或者它是不同类型的测试技术
答案 0 :(得分:1)
你可以搜索一下Robotium。它可以让你进行黑盒测试。
http://testdroid.com/tech/54/automated-ui-testing-android-applications-robotium
答案 1 :(得分:1)
也许Robolectric正是您所寻找的。您可以使用JUnit仅测试不使用android sdk中的方法的java代码。
答案 2 :(得分:0)
您考虑过使用AndroidTestCase吗? JUnit只能用于非特定于Android的功能,但这可以完成Android特定代码的工作。
答案 3 :(得分:0)
有一个非常详细的安卓测试帐户:
http://developer.android.com/tools/testing/testing_android.html
这包括基本和活动测试,并建立在JUnit之上。
答案 4 :(得分:0)
对于那些不想使用Roboticum等的人,但只是坚持使用Eclipse内置的JUnit测试,这就是我的建议:
有三个项目:
在AndroidProject.test项目中,您只测试模型,控制器等专门使用Java库的模型,控制器等。因此,没有Android Logcats,Toast或Patterns.WEB_URL.matcher(url).matches())
[android.util.Patterns
](验证字符串URL)等内容。
在AndroidProject.test.android项目中,您可以测试使用Android库的活动,服务,模型类,例如上面提到的模式验证等。
能够使用Eclipse Run As
- >对于您的JUnit测试项目,您必须进行一些设置JUnit Test
,例如从每个单独的Test类中删除Android API
,使用junit.framework.Assert
和org.junit.Test
导入等。有关重现我所做的工作的完整分步指南,请参阅我自己的Stackoverflow帖子:
JUnit Test Android classes without being forced to start the (slow) Emulator.