前两篇文章对Android Service和ServiceTestCase做了简单的分析,在本文中将一步步实现对一个Service的测试,由于参考的资料非常有限,大部分都是自己研究摸索的,不保证正确性。在以后的工作中,我会进行进一步的研究。 首先做一下对服务的启动和停止的测试。测试的对象是一个很简单的播放音乐的服务,代码是我在网上搜的,对其做了一些修改来方便测试,具体代码如下: package com.example; 可以看到该服务非常的简单,我们对其的测试相对应地也很简单。下面就一步步进行测试。import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; import android.util.Log; import android.widget.Toast; public class MyService extends Service { MediaPlayer player; public IBinder onBind(Intent intent){ return null; } public void onCreate() { Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show(); player=MediaPlayer.create(this, R.raw.start); player.setLooping(false); } public void onDestroy(){ Log.d("stop","stoped"); Toast.makeText(this, "My Servece Stopped", Toast.LENGTH_LONG).show(); player.stop(); } public void onStart(Intent intent,int startid){ Toast.makeText(this, "Started", Toast.LENGTH_LONG).show(); player.start(); } } 1.在ECLIPSE中运行File>New > Project > Android > Android Test Project.如下图所示,输入Test Project Name并且在“Test Tartget”中选择所要测试的工程。其余的会自动填好。最后点击“Finish”按钮。 2.在新建的项目上右击鼠标,选择NEW>CLASS。如下图所示,输入类名。在Superclass一览点击Browse,选择“android.test.ServiceTestCase 3.在新建的类中输入代码:
至此,第一个测试例子就结束了,可以看到这个例子非常地简单,在实际开发中所要用的肯定比这复杂得多,还需要对其进行更深入的研究,比如说加入mock object 等。 |
|