Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 -条件判断法

    <李> <李>
那么有时我们并不想每次开始/完成一个案例的时候都做一些重复的动作,也就是要实现Junit4的@beforeclass和@afterclass,该怎么办呢?以SDK自带的笔记本测试用例作为例子,假如现在我们需要实现两个测试用例
    <李> testAddNoteCNTittle:创建一个中文标题的笔记李 <>李testAddNoteEngTitle:创建一个英文标题的笔记李
根据实例提供的代码,在设置里面会初始化独奏而在拆卸里面会关闭所有打开的活动,也就是说每执行一个案例都会重新初始化一次独奏和关闭所有的活动:“代码”类@override公共空设置(){//setup()抛出异常之前运行一个测试用例。//这就是独自创建对象。super.setUp ();这一点。活动=this.getActivity ();这一点。独奏=new独奏(getInstrumentation (), getActivity ());}@Override公共空tearDown()抛出异常{//tearDown()完成后运行测试用例。//finishOpenedActivities()将完成所有已打开的活动在测试期间执行。solo.finishOpenedActivities ();}但事实上我们在这个脚本只是去创建两个注意,并不需要每执行完一个案件都要去初始化独奏和关闭所有activities.google后没有发现有现成的取代@beforeclass和@aferclass的方法。以下本人的实现方法“代码”类& lt; pre name=癱ode"类=癹ava"祝辞包com.example.android.notepad.test;进口com.robotium.solo.Solo;进口android.test.ActivityInstrumentationTestCase2;进口android.app.Activity;@SuppressWarnings (“rawtypes")公共类TCCreateNote延伸ActivityInstrumentationTestCase2{私有静态独唱独奏=零;公共活动活动;& lt;跨风格=翱瞻?pre"比;& lt;/span>私有静态最终int NUMBER_TOTAL_CASES=2;私有静态int运行=0;私有静态Class<?比;launchActivityClass;//对应再签署。jar生成出来的信息框里的两个值私有静态字符串mainActiviy=癱om.example.android.notepad.NotesList";私有静态字符串packageName=癱om.example.android.notepad";静态{尝试{launchActivityClass=forname (mainActiviy);}捕捉(ClassNotFoundException e){抛出RuntimeException (e);}}@SuppressWarnings (“unchecked")公共TCCreateNote(){超级(packageName launchActivityClass);}@Override公共空设置()抛出异常{//setUp()运行一个测试用例之前开始。//这就是独自创建对象。super.setUp ();& lt;跨风格=翱瞻?pre"比;& lt;/span>//变量独奏是静态的,因为每次案例# 39;后完成,这类TCCreateNote池//这将导致索托池null如果变# 39;不设置为静态(个人==null) {TCCreateNote。独奏=new独奏(getInstrumentation (), getActivity ());}}@Override公共空tearDown()抛出异常{//检查是否变# 39;年代最后的情况下执行。+=countTestCases运行();如果(运行在=NUMBER_TOTAL_CASES) {solo.finishOpenedActivities ();}}公共空testAddNoteCNTitle()抛出异常{solo.clickOnMenuItem(“添加note");独奏。enterText(0,“中文标签笔记“);solo.clickOnMenuItem (“Save");solo.clickInList (0);solo.clearEditText (0);独奏。enterText(0,“文本1“);solo.clickOnMenuItem (“Save");solo.assertCurrentActivity(“预期NotesList Activity",“NotesList");solo.clickLongOnText(“中文标签笔记“);solo.clickOnText (“Delete");}公共空testAddNoteEngTitle()抛出异常{solo.clickOnMenuItem(“添加note");独奏。enterText(0,“英语标题Note");solo.clickOnMenuItem (“Save");solo.clickInList (0);solo.clearEditText (0);独奏。enterText(0,“文本1“);solo.clickOnMenuItem (“Save");solo.assertCurrentActivity(“预期NotesList Activity",“NotesList");solo.clickLongOnText(“英文标题Note");solo.clickOnText (“Delete");}}

 

Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 -条件判断法