KC06110000004习题试题库单元4单元测试

上传人:仙*** 文档编号:43744021 上传时间:2021-12-04 格式:DOC 页数:26 大小:509.51KB
返回 下载 相关 举报
KC06110000004习题试题库单元4单元测试_第1页
第1页 / 共26页
KC06110000004习题试题库单元4单元测试_第2页
第2页 / 共26页
KC06110000004习题试题库单元4单元测试_第3页
第3页 / 共26页
点击查看更多>>
资源描述
一、 单选题所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容软件测试是软件质量保证的重要手段,下述( )测试是软件测试的最基础环节?A功能测试 B单元测试 C结构测试 D验收测试标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试( ) A.最底层 B.下一层 C.最高层 D.上一层标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容单元测试的主要任务不包括( )。A出错处理 B全局数据结构C独立路径 D模块接口标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联测试用例题目内容通常,在( )的基础上,将所有模块按照设计要求组装成系统A.组装测试 B.系统测试C.验收测试 D.单元测试标准答案D所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是 ( )。A. 系统功能 B. 局部数据结构 C. 重要的执行路径 D. 错误处理 标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容下面的哪一项测试步骤中需要进行局部数据结构测试: ( )A单元测试 B集成测试 C确认测试 D系统测试 标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容单元测试将根据在( )阶段中产生的规格说明进行A. 可行性研究与计划 B. 需求分析C. 概要设计 D. 详细设计标准答案D所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联黒盒测试、白盒测试、单元测试题目内容在进行单元测试时,常用的方法是( ) A.采用黑盒测试,辅之以白盒测试B.采用白盒测试,辅之以黑盒测试C.只使用黑盒测试D.只使用白盒测试标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度难知识点关联单元测试题目内容下列那种测试不属于面向对象单元测试考虑的范畴( ) A.成员方法的测试 B.类的测试C.类树的测试 D.多个相互协作的类树的测试标准答案D所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit的基本概念题目内容以下关于使用JUnit的说法,正确的有()A. 对每个测试类,都要定义一个测试用例B. Error错误是一个期望的被assert方法检查到的结果C. Faile失败则是意外的问题引起的D. 当JUnit执行测试时,它在执行每个testXXXX()方法前都调用setUp(),初始化所有测试的Fixture,而在执行每个testXXXX()方法后都调用testDown(),释放在setUp()中分配的永久性资源。标准答案D所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试的基本概念题目内容单元测试范围包括()?A. 方法间集成 B.平行类测试 C.类簇测试 D.以上都是标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit单元测试题目内容在Assert类中断言测试失败是_。A.assertEquals B.assertTrue C.assertSame D.fail标准答案D所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit单元测试题目内容在Assert类中断言两个对象相等是_。A.assertEquals B.assertTrue C.assertSame D.fail标准答案A所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联JUnit的基本概念题目内容关于JUnit,描述错误的是()?A. JUnit是Java语言的单元测试框架B. JUnit只能测试公共函数C. JUnit推荐先测试后实现的方法D. setUp、tearDown函数只执行一次标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit的基本概念题目内容在Junit中,testXXX()方法就是一个测试用例,测试方法是_。private void testXXX() public void testXXX() public float testXXX() public int testXXX()标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试的基本概念题目内容在进行单元测试时,常用的方法是()?A. 采用黑盒测试,辅之以白盒测试B. 采用白盒测试,辅之以黑盒测试C. 只使用黑盒测试D. 只使用白盒测试标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit单元测试题目内容Junit的TestCase类提供 和tearDown()方法,分别完成对测试环境的建立和拆除。AsetUp() Bset() Csetap() DsetDown()标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试的基本概念题目内容单元测试的依据是( )。A. 模块功能规格说明 B. 系统模块结构图 C. 系统需求规格说明 D. 详细设计说明书标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试的基本概念题目内容以下对单元测试,不正确的说法是? A. 单元测试的主要目的是针对编码过程中可能存在的各种错误;B. 单元测试一般是由程序开发人员完成的C. 单元测试是一种不需要关注程序结构的测试;D. 单元测试属于白盒测试的一种。标准答案C所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联单元测试的基本概念题目内容以下不属于单元测试优点的一项是()?A. 它是一种验证行为B. 它是一种设计行为C. C它是一种编写文档的行为D. D. 它是一种评估行为标准答案D所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联单元测试的基本概念题目内容对于单元测试框架,除了用于Java的JUnit还有CppUnit、NUnit等,它们是()? A. C+单元测试框架、.NET单元测试框架B. C语言单元测试框架、通用单元测试框架C. C+单元测试框架、自动化单元测试框架D. 自动化单元测试框架、.NET单元测试框架标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试的基本概念题目内容软件测试用例主要由输入数据和( )两部分组成。A. 测试计划 B. 测试规则 C. 预期输出结果 D. 以往测试记录分析标准答案C 所属项目项目四题型单选题出题人题目编号 分值2难易程度中知识点关联单元测试的基本概念题目内容单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( )。A. 系统功能 B. 局部数据结构 C. 重要的执行路径 D. 错误处理标准答案A所属项目项目四题型单选题出题人题目编号 分值2难易程度中知识点关联单元测试的基本概念题目内容编码阶段产生的错误由()检查出来。A. 单元测试B. 集成测试C. 有效性测试D. 系统测试标准答案A所属项目项目四题型单选题出题人题目编号 分值 2难易程度易知识点关联JUnit测试框架的组成题目内容创建一个基于JUNIT的单元测试类,该类必须扩展? A. TestSuiteB. AssertC. TestCase D. JFCTestCase标准答案C所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联JUnit的断言题目内容用JUNIT断言一个方法输出的是指定字符串,应当用的断言方法是? A. assertNotNull( )B. assertSame() C. assertEquals()D. assertNotEquals()标准答案C所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联JUnit的断言题目内容在Assert类中断言对象为NULL是_。A.assertEquals B.assertTrue C.assertNull D.fail标准答案C所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联JUnit测试框架的组成题目内容TestCase是junit.framework中的一个()? A. 方法B. 接口C. 类D. 抽象类标准答案C所属项目项目四题型单选题出题人题目编号 分值 2难易程度易知识点关联JUnit测试框架的组成题目内容TestSuite是JUnit中用来()? A. 集成多个测试用例 B. 做系统测试用的 C. 做自动化测试用的 D. 方法断言标准答案A所属项目项目四题型单选题出题人题目编号 分值2难易程度中知识点关联JUnit测试框架的组成题目内容对于测试程序的一些命名规则,以下说法正确的一项是()? A. 测试类的命名只要符合Java类的命名规则就可以了;B. 测试类的命名一般要求以Test打头,后接类名称,如:TestPerson;C. 测试类的命名一般要求以Test结尾,前接类名称,如:PersonTest;D. 测试类中的方法都是以testXxx()形式出现。标准答案C所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联JUnit测试框架的组成题目内容通常,初始化一个被测试对象,会在测试类的( )中进行。 A. tearDown() B. setUp()C. 构造方法D. 任意位置标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联JUnit的基本特征组成题目内容JUnit的特征,不正确的一项是()? A. 用于测试期望结果的断言 B. 用于共享共同测试数据的测试工具C. 易于集成到测试人员的构建过程中,Jnuit和Ant的结合可以实施增量开发D. JUnit是收费的,不能做二次开发标准答案D所属项目项目四题型单选题出题人题目编号 分值2难易程度难知识点关联JUnit的设计模式题目内容JUnit的两个模式:集成模式和()? A. 命令模式 B. 适配器模式 C. 单例模式D. 接口模式标准答案A所属项目项目四题型单选题出题人题目编号 分值2难易程度中知识点关联JUnit测试框架的组成题目内容测试3的阶乘,断言方法是()? A. Assert.assertSame(6, jc.jieChen(3)B. Assert.assertEquals(6, jc.jieChen(3)C. Assert.assertNull(6, jc.jieChen(3)D. Assert.assertTrue(6, jc.jieChen(3)标准答案B所属项目项目四题型单选题出题人题目编号 分值2难易程度中知识点关联JUnit测试框架的组成题目内容JUnit中哪个包是整个JUnit的核心包,包括全部的核心框架类()A. junit.swingui 包B. junit.framework包C. junit.runner包D. junit.extension包标准答案B所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联单元测试题目内容测试驱动开发的含义是( )? A先写程序后写测试的开发方法 B. 先写测试后写程序,即“测试先行” C. 用单元测试的方法写测试 D. 不需要测试的开发标准答案B所属项目项目四题型单选题出题人题目编号 分值2难易程度易知识点关联单元测试题目内容创建一个基于JUnit 3.x的单元测试类,该类必须扩展( )?ATestSuite B. Assert C. TestCase D. JFCTestCase标准答案C所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容编码阶段产生的错误由( )检查出来的。A单元测试 B黑盒测试 C系统测试 D分析测试标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容单元测试最常用的方法是( )。A安装/反安装测试 B压力测试 C白盒测试 D用户验收测试标准答案C所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联程序调试题目内容调试应该由( )完成。A与程序无关的程序员 B编制该源程序的程序员 C不了解软件设计的人员或机构 D设计该软件的机构标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容下列属于单元测试工具的是( )。AJunit BLoadRunner CBugFree DQuickTest标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联单元测试题目内容单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( )。A系统功能 B局部数据结构 C重要的执行路径 D错误处理标准答案A所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容单元测试时,调用被测模块的是( )。A桩模块 B通信模块 C驱动模块 D代理模块标准答案C所属项目项目四题型单选题出题人题目编号分值2难易程度难知识点关联错误估算题目内容两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是( )个。A25 B30 C50 D60标准答案C所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联程序调试题目内容某次程序调试没有出现预计的结果,下列( )不可能是导致出错的原因。A变量没有初始化 B编写的语句书写格式不规范C循环控制出错 D代码输入有误标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容单元测试的主要任务不包括( )。A出错处理 B全局数据结构 C独立路径 D模块接口标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度易知识点关联静态测试题目内容测试工程师的工作范围包括检查代码、评审开发文档,这属于( )A动态测试 B静态测试 C黑盒测试 D白盒测试标准答案B所属项目项目四题型单选题出题人题目编号分值2难易程度中知识点关联单元测试题目内容JUnit有两个包:( )和JUnit.extensions。AJUnit.frametest BJUnit.frameworkCJUnit.amework DJUnit.assert标准答案B二、填空题所属项目项目四题型填空题出题人题目编号分值3难易程度中知识点关联单元测试、泛化伪代码题目内容泛化伪代码有两层结构: 和程序组件。标准答案单元所属项目项目四题型填空题出题人题目编号分值3难易程度中知识点关联单元测试策略题目内容静态测试可分为 、 、 。标准答案走查、审查、评审所属项目项目四题型填空题出题人题目编号 分值4难易程度中知识点关联单元测试的内容题目内容单元测试内容包含如下方面:_、_、_、 _和重要路径测试。标准答案模块接口测试、 边界条件测试、 错误处理测试、 局部数据结构测试所属项目项目四题型填空题出题人题目编号 分值2难易程度中知识点关联JUnit的tearDown题目内容JUnit测试结束后如,_方法清除测试数据。标准答案teardown所属项目项目四题型填空题出题人题目编号 分值2 难易程度中知识点关联JUnit单元测试题目内容Junit中的所有的Assert方法全部放在_类,用于对比_和实际值是否相同。 标准答案 Assert,期望值所属项目项目四题型填空题出题人题目编号 分值1难易程度中知识点关联JUnit单元测试题目内容Junit是一个开放源代码的_测试框架,用于编写和运行可重复的测试。标准答案java所属项目项目四题型填空题出题人题目编号 分值2难易程度中知识点关联JUnit单元测试题目内容在Junit中3.8中testXXX()测试方法必须满足几个条件:_,_和无方法参数。标准答案public ,void 所属项目项目四题型填空题出题人题目编号 分值1难易程度中知识点关联JUnit的作用题目内容简述JUnit和单元测试的作用是_。标准答案检查程序和预期设计是否一致。所属项目项目四题型填空题出题人题目编号 分值2难易程度中知识点关联编写单元测试的依据题目内容编写单元测试用例说明书的依据是_和_。标准答案单元测试计划、软件详细设计说明书。所属项目项目四题型填空题出题人题目编号 分值2难易程度中知识点关联编写单元测试的测试技术题目内容在单元测试时,测试者需要依据软件详细说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,要采用_ 测试技术,_测试技术作为辅助。标准答案白盒、黑盒。所属项目项目四题型填空题出题人题目编号 分值1难易程度易知识点关联单元测试题目内容单元测试是以_说明书为指导,测试源程序代码。标准答案详细设计所属项目项目四题型填空题出题人题目编号分值2难易程度中知识点关联测试用例题目内容测试用例由 和预期的 两部分组成。标准答案输入数据、输出数据所属项目项目四题型填空题出题人题目编号分值2难易程度中知识点关联动态测试、单元测试题目内容动态测试的两个基本要素是 和 。标准答案被测试程序、 测试数据(测试用例)所属项目项目四题型填空题出题人题目编号分值2难易程度易知识点关联单元测试、编写测试用例题目内容编写测试用例的依据是 和 文档。标准答案单元测试计划、详细设计说明书所属项目项目四题型填空题出题人题目编号分值1难易程度中知识点关联单元测试题目内容单元测试指对源程序中每一个 进行测试。标准答案程序单元所属项目项目四题型填空题出题人题目编号分值2难易程度难知识点关联Junit题目内容Junit的TestCase类提供 和 方法,分别完成对测试环境的建立和拆除。标准答案setup() teardown()所属项目项目四题型填空题出题人题目编号分值2难易程度中知识点关联单元测试题目内容在单元测试中,需要为被测模块设计驱动模块和桩模块,其中驱动模块用来模拟被测模块的 模块,桩模块用来代替被测模块 模块。标准答案上级调用 所调用的所属项目项目四题型填空题出题人题目编号分值2难易程度中知识点关联Junit题目内容在Junit中testXXX()测试方法必须满足几个条件: 、 和无方法参数。标准答案public void 所属项目项目四题型填空题出题人题目编号分值2难易程度易知识点关联单元测试、集成测试题目内容单元测试是以 说明书为指导,测试源程序代码。集成测试以 说明书为指导,测试软件结构。标准答案详细设计 概要设计所属项目项目四题型填空题出题人题目编号分值2难易程度难知识点关联调试题目内容回溯法调试是从 出发,而归纳法调试是从 入手。标准答案程序产生错误的地方 测试结果发现的线索所属项目项目四题型填空题出题人题目编号分值1难易程度易知识点关联单元测试题目内容在单元测试时,需要为被测模块设计 。标准答案驱动模块与桩模块所属项目项目四题型填空题出题人题目编号分值3难易程度中知识点关联单元测试题目内容在软件测试中,单元测试通常在 阶段完成,单元测试主要采用 技术,一般由 人员完成。标准答案编程 逻辑覆盖 专业测试所属项目项目四题型填空题出题人题目编号分值2难易程度中知识点关联单元测试题目内容JUnit共有七个包,核心包是 、 ,前者负责整个测试对象的架构,后者负责测试驱动。标准答案JUnit.framework JUnit.runner所属项目项目四题型填空题出题人题目编号分值1难易程度易知识点关联单元测试题目内容编码阶段产生的错误由 检查出来。标准答案单元测试所属项目项目四题型填空题出题人题目编号分值1难易程度难知识点关联单元测试、集成测试题目内容在编码阶段对系统执行的测试类型主要包括单元测试和集成测试,局部数据测试属于 。标准答案单元测试三、简答题所属项目项目四题型简答题出题人题目编号分值5难易程度易知识点关联单元测试题目内容在单元测试中,所谓单元是如何划分的?标准答案单元测试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的结构化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。所属项目项目四题型简答题出题人题目编号分值 5难易程度 易知识点关联编写JUnit单元测试题目内容如何使用JUnit 3.x进行单元测试,写出关键步骤标准答案1.创建TestCase类的子类,导入TestCase包2.定义公有的无返回值的无参数的名称以test的函数充当测试方法3.在该方法中进行对象测试所属项目项目四题型简答题出题人题目编号 分值 5难易程度 易知识点关联编写JUnit单元测试题目内容如何使用JUnit 4.x进行单元测试,写出关键步骤标准答案1.定义公有的无返回值的无参数的函数充当测试方法2.在该函数前用Tgest注解定义3.在该方法中进行对象测试所属项目项目四题型简答题出题人题目编号 分值 5难易程度 中知识点关联编写JUnit单元测试题目内容JUnit 4.x和JUnit 3.x有哪些区别?(注解方面)标准答案在JUnit 4.x中用注解定义测试方法1. Test:标志一个测试方法2. Before:替代setUp3. After:替代tearDown4. BeforeClass、AfterClass:只执行一次,分别在测试方法前和测试方法后执行5. Test(expected=XxxException.class):测试异常,替代trycatch 所属项目项目四题型简答题出题人题目编号 分值 5难易程度中知识点关联JUnit单元测试的编写题目内容简述JUnit单元测试步骤标准答案1.判断组件的功能:通过定义应用的整体需求,然后将系统划分成几个对象;2.设计组件行为:依据所处理的过程,可以通过一个正规或者非正规的过程实现组件行为的设计,可以使用UML或者其他文档视图来设计组件行为,从而为组件的测试打下基础;3.编写单元测试程序(或测试用例)确认组件行为:这个阶段应假定组件的编码已经结束而组件工作正常,需要编写单元测试程序来确定其功能是否和预定义的功能相同,测试程序需要考虑所有正常和意外的输入,以及特定的方法能产生的溢出;4.编写组件并执行测试:首先创建类及其所对应的方法标识,然后遍历每个测试实例,为其编写相应代码使其顺利通过,然后返回测试。继续这个过程直至所有实例通过;5.测试替代品:对组件行为的其他方式进行考虑,设计更周全的输入或者其他错误条件,编写测试用例来捕获这些条件,然后修改代码使得测试通过;6.重整代码:如果有必要,在编码结束时对代码进行重整和优化,改动后返回单元测试并确认测试通过;7.当组件有新的行为时,编写新的测试用例:每次在组件中发现故障,编写一个测试实例重复这个故障,然后修改组件以保证测试实例通过。同样,当发现新的需求或已有的需求改变时,编写或修改测试实例以响应此改变,然后修改代码;8.代码修改,重复测试:每次代码修改时,重复所有的测试以确保没有打乱代码。所属项目项目四题型简答题出题人题目编号分值5难易程度难知识点关联单元测试题目内容分析单元测试和代码调试的区别。标准答案表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。所属项目项目四题型简答题出题人题目编号分值5难易程度易知识点关联单元测试题目内容简述单元测试的主要任务。标准答案单元测试的主要任务是:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试。所属项目项目四题型简答题出题人题目编号分值5难易程度易知识点关联单元测试题目内容编写单元测试用例说明书的依据是什么?标准答案编写单元测试用例说明书的依据是:需求分析、实际结果、预期结果。所属项目项目四题型简答题出题人题目编号分值5难易程度易知识点关联桩模块题目内容什么是桩模块,它的作用是什么?标准答案桩模块是指用来代替被测试模块所调用的模块,其作用是返回被测模块所需的信息。所属项目项目四题型简答题出题人题目编号分值5难易程度难知识点关联单元测试题目内容单元测试的策略主要有哪些?。标准答案单元测试策略主要有三种方式:1.自顶向下的单元测试策略:从顶层调用的单元做成桩模块;对第二层测试,使用上面已测试的单元做驱动模块;依次类推,直到全部单元测试结束。2.自底向上的单元测试策略:先对模块调用的最底层模块进行测试,模拟调用该模块的模块为驱动模块;其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元测试结束。3.孤立测试的单元测试策略:无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。四、问答题所属项目项目四题型问答题出题人题目编号分值12难易程度难知识点关联JUnit单元测试题目内容分别使用JUnit 3.8和JUnit 4.x测试下面的类。public class NumberUtil public Boolean isPrime(int num) for (int i = 2; i Math.sqrt(num); i+) if (num % i = 0)return false;return true;public boolean isDivisible(int num) if (num % 7 = 0) | (num % 9 = 0) & (num % 5 != 0 & num % 2 != 0) return true; else return false; 标准答案public class TestNumberUtil extends TestCase private NumberUtil numUtil = null;public TestNumberUtil(String name) super(name);protected void setUp() throws Exception numUtil = new NumberUtil();public void testIsPrime() assertTrue(numUtil.isPrime(7);public void testIsPrime2() assertFalse(numUtil.isPrime(8);public void testIsDivisible() assertTrue(numUtil.isDivisible(21);public void testIsDivisible3() assertFalse(numUtil.isDivisible(12);所属项目项目四题型问答题出题人题目编号分值20难易程度难知识点关联JUnit单元测试题目内容针对以下servlet,使用Easy Mock对象编写测试代码。public class LoginServlet extends HttpServlet protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException String username = request.getParameter(username);String password = request.getParameter(password);/ check username & password:if (admin.equals(username) & 123456.equals(password) ServletContext context = getServletContext();RequestDispatcher dispatcher = context.getNamedDispatcher(dispatcher);dispatcher.forward(request, response); else throw new RuntimeException(Login failed.); 标准答案public class TestLoginServlet extends TestCase private LoginServlet servlet;private IMocksControl control;private HttpServletRequest mockRequest;private HttpServletResponse mockResponse;public void setUp() control = createControl();servlet = new LoginServlet();/ 创建request和response的MockmockRequest = control.createMock(HttpServletRequest.class);mockResponse = control.createMock(HttpServletResponse.class);public void tearDown() / 为了验证指定的调用行为确实发生了,要调用verify(mock)进行验证。control.verify(); public void testLoginSuccessful() throws IOException, ServletException recordUsername(admin); recordPassword(123456); mockResponse.sendRedirect(welcome.jsp); replayLogin(); public void testWrongPassword() throws IOException, ServletException recordUsername(admin); recordPassword(*); mockResponse.sendRedirect(error.jsp); replayLogin(); public void testUsernameNotExist() throws IOException, ServletException recordUsername(qq7338367); recordPassword(123456); mockResponse.sendRedirect(error.jsp); replayLogin(); private void recordUsername(String username) /录制request和response的动作 mockRequest.getParameter(username); expectLastCall().andReturn(username);/设置前一方法被调用时的返回值 private void recordPassword(String password) mockRequest.getParameter(password); expectLastCall().andReturn(password); private void replayLogin() throws IOException, ServletException /回放 control.replay(); /开始测试Servlet的doPost方法 servlet.doPost(mockRequest, mockResponse); 所属项目项目四题型问答题出题人题目编号分值20难易程度难知识点关联JUnit单元测试题目内容分别使用JUnit 3.8和JUnit 4.x测试下面的类。public class Calculator public int add(int a, int b) return a + b;public int divide(int a, int b) throws Exception if(0 = b) throw new Exception(除数不能为零!); return a / b; 标准答案public class TestCalculator extends TestCase private Calculator calculator;public TestCalculator(String method) super(method);protected void setUp() throws Exception calculator = new Calculator();protected void tearDown() throws Exception calculator = null;public void testAdd() int expected = 5;int result = calculator.add(3, 2);assertEquals(expected, result); public void testDivide() int result = 0; try result = calculator.divide(6, 4); catch (Exception e) e.printStackTrace(); fail(); assertEquals(1, result); public void testDivideByZero() Throwable tx = null; try calculator.divide(4, 0); fail(); catch(Exception ex) tx = ex; assertNotNull(tx); assertEquals(Exception.class, tx.getClass(); assertEquals(除数不能为零!, tx.getMessage();
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!