Android单元测试使用ThreadingTest进行全新体验Word文件下载.docx
- 文档编号:15690637
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:225.03KB
Android单元测试使用ThreadingTest进行全新体验Word文件下载.docx
《Android单元测试使用ThreadingTest进行全新体验Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android单元测试使用ThreadingTest进行全新体验Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
当使用ThreadingTestAndroidJUnitTest进行单元测试时,还是相同的测试体验,却能够得到白盒测试的数据,当单元执行结束后,可以根据产生的数据来分析程序的出错点,使Bug的查找更快速,更准确,而为此付出最小的代价。
3、Android单元测试的编写
Android单元测试有两种方法,首先作为java程序,可以试用JUnitTest进行测试,另外也可使用AndroidJUnitTest进行单元测试。
1)、JUnitTest进行单元测试
JUnit对Android应用程序进行单元测试需要使用Java命令来启动或者在eclipse里面将启动的BootstrapEntries改为JRE,但是这种只能测试逻辑代码,因为是是运行在JVM上,而不是Android系统中,所以不能测试Android有关的代码。
使用JUnit测试的代码,需要在函数的之前加@Test,函数必须为public类型,在eclipse中,在类上右击,选择JUnitTest即可进行测试。
2)AndroidJUnitTest进行单元测试
AndroidJUnitTest单元测试是一组直接或间接继承自junit.framework.Testcase的类集合,入口是InstrumentationTestRunner。
使用AndroidJUnitTest测试,也存在两种测试方法,测试驱动与测试代码在同一工程下和测试驱动和测试代码位于不同工程,两者之间并无巨大差异,只是在测试时,前者只安装一个App,后者安装两个App。
如下为一个单元测试的实例:
步骤1:
准备好需要测试的源代码
步骤2:
添加测试类,编写测试代码
packagecalculator.xwg.test;
importjava.util.ArrayList;
importjava.util.LinkedList;
importandroid.test.ActivityInstrumentationTestCase2;
importandroid.app.AlertDialog;
importandroid.app.Instrumentation;
importandroid.widget.Button;
importandroid.widget.ListView;
importandroid.widget.TextView;
importcalculator.xwg.CalculatorMainActivity;
publicclassCalculatorMainActivityTestextends
ActivityInstrumentationTestCase2<
CalculatorMainActivity>
{
privateInstrumentationmInstrumentation;
privateCalculatorMainActivitymActivity;
privateTextViewmQuestionText;
privateTextViewmAnswerText;
privateButtonmCalculateButton;
privateButtonmButton1;
privateButtonmButtonPlus;
privateButtonmButtonAngle;
privateButtonmButtonDegree;
privateButtonmButtonF6;
classAssertPair{
publicAssertPair(CharSequencequest,CharSequenceres){
question=quest;
result=res;
}
booleanassertResult(){
return(question.toString().compareTo(result.toString())==0);
publicCharSequencequestion;
publicCharSequenceresult;
}
ArrayList<
AssertPair>
assertList=newArrayList<
();
AssertPairmAssertPair;
FailureInfomFailureInfo;
@SuppressWarnings("
deprecation"
)
publicCalculatorMainActivityTest(){
super("
calculator.xwg"
CalculatorMainActivity.class);
//TODOAuto-generatedconstructorstub
@Override
protectedvoidsetUp()throwsException{
super.setUp();
mInstrumentation=getInstrumentation();
setActivityInitialTouchMode(false);
mActivity=(CalculatorMainActivity)getActivity();
mQuestionText=(TextView)mActivity.findViewById(calculator.xwg.R.id.textQuestion);
mAnswerText=(TextView)mActivity.findViewById(calculator.xwg.R.id.textAnswer);
mCalculateButton=(Button)mActivity.findViewById(calculator.xwg.R.id.button74);
mButton1=(Button)mActivity.findViewById(calculator.xwg.R.id.button60);
mButtonPlus=(Button)mActivity.findViewById(calculator.xwg.R.id.button63);
mButtonAngle=(Button)mActivity.findViewById(calculator.xwg.R.id.button03);
mButtonDegree=(Button)mActivity.findViewById(calculator.xwg.R.id.button02);
mButtonF6=(Button)mActivity.findViewById(calculator.xwg.R.id.buttonF6);
mActivity.engine.clearCustomFunctions();
}//endofsetUp()methoddefinition
protectedvoidtearDown()throwsException{
super.tearDown();
publicvoidtestPreConditions(){
//assertTrue(mSpinner.getOnItemSelectedListener()!
=null);
//assertTrue(mPlanetData!
//assertEquals(mPlanetData.getCount(),ADAPTER_COUNT);
}//endoftestPreConditions()methoddefinition
publicvoidtestCalculate(){
LinkedList<
checkItemList=newLinkedList<
checkItemList.add(newAssertPair("
1-2×
((3+4)/58+8)×
25%"
"
-3.06034482759"
));
root(16,4)"
2"
sin(0°
)"
0"
sin(30°
0.5"
sin(390°
sin(-330°
sin(90°
1"
sin(145°
0.573576436351"
sin(180°
sin(200°
-0.342020143326"
sin(270°
-1"
sin(300°
-0.866025403784"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 单元测试 使用 ThreadingTest 进行 全新 体验