Android测试驱动开发实践1
作者:网络转载 发布时间:[ 2013/12/19 10:26:17 ] 推荐标签:
在WkjTest工程中,选中MainActivityTest类,点右键,选择Run As....然后选Android JUnit Test,在随后弹出的界面选择测试设备,运行程序后,在Junit视图会显示,执行了test001测试用例,并且该测试用例失败了,这正是我们目前所需要的结果。
另外,注意我们对测试用例的命名,testTemp001,表明是临时性的测试用例。采用这种方式命名的测试用例,表明是在开发过程中使用的临时测试用例,不是用于回归测试中的正式测试用例。
下面开始编写功能性代码,来使这个测试用例通过。
还记得在本文开头处提到的MVC架构吗?现在我们开始来一步步实现这个MVC架构。我们将Activity当作视图View,View读取Model中数据并显示到界面上,testTemp001这是为了测试这一工作模式。
在Android中怎样来实现一个Model呢?实现Model当然有很多种方式,我在这里采用扩展Application类来当作Model,即定义AppModel并继承Application,这样做的好处是Model不用采用Singleton模式也可以实现单例模式了,而且可以很方便在Activity中获取到。在我们这个简单的应用中,需要Model中存在welcom_msg信息,这时在MainActivity中才可以通过向Model请求数据并显示在界面中。
AppModel类如下所示:
package com.bjcic.wkj;
import android.app.Application;
public class AppModel extends Application {
// 生命周期方法开始
public void onCreate() {
super.onCreate();
welcomeMsg = getString(R.string.welcome_msg);
}
public void onTerminate() {
super.onTerminate();
}
// 生命周期方法结束
private String welcomeMsg = null;
public String getWelcomeMsg() {
return welcomeMsg;
}
public void setWelcomeMsg(String welcomeMsg) {
this.welcomeMsg = welcomeMsg;
}
}
在MainActivity中添加如下代码:
[java] view plaincopy
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appModel = (AppModel)getApplication();
}
@Override
public void onResume() {
super.onResume();
((TextView)findViewById(R.id.j_titleTxtv)).setText(appModel.getWelcomeMsg());
}
private AppModel appModel = null;
|
后在Manifest文件中添加:
<application
android:allowBackup="true"
android:name=".AppModel"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
|
这时再回到WkjTest工程,选中MainActivityTest类,右键选择Run As .... =>Android JUnit Test,这时Junit视图将显示测试用例通过。这样,我们的第一个测试驱动开发周期结束了。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南