前两篇文章对
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();
}
}
2.在新建的项目上右击鼠标,选择NEW>CLASS。如下图所示,输入类名。在Superclass一览点击Browse,选择“android.test.ServiceTestCase”,将其中的T改为所要测试的服务类名“MyService”。点击finish按钮。这样第一个测试类就创建了。3.在新建的类中输入代码:- package com.example.test;
-
-
import com.example.MyService;
-
import android.content.Intent;
-
import android.test.ServiceTestCase;
-
import android.util.Log;
-
-
public class MyServiceTest extends ServiceTestCase<MyService> {
-
-
private String TAG="myservicetest";
-
private Context mContext;
-
/**
-
* 构造方法
-
*/
-
public MyServiceTest() {
-
super(MyService.class);
-
-
}
-
-
/**
-
* 重写setUp方法,第一句调用super.setUp
-
*/
-
protected void setUp() throws Exception {
-
super.setUp();
-
mContext = getContext();
-
-
}
-
-
// public void testAndroidTestCaseSetupProperly() {
-
// super.testAndroidTestCaseSetupProperly();
-
// }
-
-
protected void tearDown() throws Exception {
-
mContext = null;
-
super.tearDown();
-
}
-
-
/**
-
* 测试Service正确地启动
-
*/
-
public void testStart() {
-
Log.i(TAG, "start testStart");
-
Intent intent = new Intent();
-
startService(intent);
-
MyService Serv=getService();
-
assertNotNull(Serv);
- Log.i(TAG, "end testStart");
-
}
-
}
-
-
-
/**
-
* 测试Service正确的终止
-
*/
-
public void teststop() {
-
Log.i(TAG, "start teststopService");
-
Intent intent = new Intent();
-
startService(intent);
-
MyService service = getService();
-
service.stopService(intent);
-
}
-
}
4.在工程上右击鼠标选择Run As> Android JUnit Test运行测试用例,测试结果如下图所示,可以看到测试都通过了,如果测试没通过,在下面的“Failure Trace”中会给出错误信息。最后的两个测试用例是系统自动运行的。 至此,第一个测试例子就结束了,可以看到这个例子非常地简单,在实际开发中所要用的肯定比这复杂得多,还需要对其进行更深入的研究,比如说加入mock object 等。
阅读(3899) | 评论(0) | 转发(0) |