Java单元测试

二填空题1.java中用关键字申明包。2.整型数据基本类型int所对应的封装器类是。3.产生一个区间[20,100]内的随机整数的语句是。4.下面程序运行时在命令行输入M... 二填空题
1. java 中用 关键字申明包。
2.整型数据基本类型int所对应的封装器类是 。
3.产生一个区间[20,100] 内的随机整数的语句是 。
4.下面程序运行时在命令行输入MyProg me you he she。程序的运行结果是 。
class MyProg{
public static void main(String args[]){
for(int i=0;i<args.length;i++)
if(i%2==0) System.out.print(args[i]+" ");
System.out.println();
}
}

三.编一程序,从键盘输入一个字符串,将其倒序输出。比如:
输入”Hello Java”, 输出为:”avaJ,olleH”.

四、编一程序。要求
1 将自己的学号、姓名、性别写入到目录d:\Personal下的文件Info.dat中。
2 将文件Info.dat中的数据显示在屏幕上。
展开
 我来答
Kyoya迪VF9
推荐于2017-12-15 · TA获得超过140个赞
知道答主
回答量:113
采纳率:0%
帮助的人:56.9万
展开全部
你的理解是正确的。 通常针对一个方法会写几组这样的 带入值,复杂的方法可能更多。实际使用当中,一个方法的运行会有很多依赖关系 ,不如 需要上下文环境,需要 HTTP Requst ,Response ,数据库连接等。 如果自己写的话太复杂,所以就有 很多插件来帮忙解决外部问题。

Junit 是JAVA单元测试使用最多的插件。其他的也还有很多,基本和 Junit的思想是一样的。
请采纳答案,支持我一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
等待的幸福快乐
推荐于2016-11-20 · 知道合伙人数码行家
等待的幸福快乐
知道合伙人数码行家
采纳数:1011 获赞数:35893

向TA提问 私信TA
展开全部
  单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。
  单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。
  一般来说,单元测试任务包括
  接口功能测试:用来保证接口功能的正确性。
  局部数据结构测试(不常用):用来保证接口中的数据结构是正确的
  比如变量有无初始值
  变量是否溢出
  边界条件测试
  比如对于Math.sqrt,给出n^2-1,和n^2+1的边界
  空集合
  对集合的大小应用“数值变量”的边界
  调整次序:升序、降序
  引用“字符变量”的边界
  空字符串
  对字符串长度应用“数值变量”的边界
  主要边界:最小值,最大值,无穷大(对于DOUBLE等)
  溢出边界(期望异常或拒绝服务):最小值-1,最大值+1
  临近边界:最小值+1,最大值-1
  变量没有赋值(即为NULL)
  变量是数值(或字符)
  变量是字符串
  变量是集合
  变量有规律
  所有独立执行通路测试:保证每一条代码,每个分支都经过测试
  Cobertura:语句覆盖
  Emma: Eclipse插件Eclemma
  语句覆盖:保证每一个语句都执行到了
  判定覆盖(分支覆盖):保证每一个分支都执行到
  条件覆盖:保证每一个条件都覆盖到true和false(即if、while中的条件语句)
  路径覆盖:保证每一个路径都覆盖到
  代码覆盖率
  相关软件
  各条错误处理通路测试:保证每一个异常都经过测试
  JUNIT
  JUnit是Java单元测试框架,已经在Eclipse中默认安装。目前主流的有JUnit3和JUnit4。JUnit3中,测试用例需要继承TestCase类。JUnit4中,测试用例无需继承TestCase类,只需要使用@Test等注解。
  Junit3
  先看一个Junit3的样例
  // 测试java.lang.Math
  // 必须继承TestCase
  public class Junit3TestCase extends TestCase {
  public Junit3TestCase() {
  super();
  }
  
  // 传入测试用例名称
  public Junit3TestCase(String name) {
  super(name);
  }
  
  // 在每个Test运行之前运行
  @Override
  protected void setUp() throws Exception {
  System.out.println("Set up");
  }
  // 测试方法。
  // 方法名称必须以test开头,没有参数,无返回值,是公开的,可以抛出异常
  // 也即类似public void testXXX() throws Exception {}
  public void testMathPow() {
  System.out.println("Test Math.pow");
  Assert.assertEquals(4.0, Math.pow(2.0, 2.0));
  }
  
  public void testMathMin() {
  System.out.println("Test Math.min");
  Assert.assertEquals(2.0, Math.min(2.0, 4.0));
  }
  
  // 在每个Test运行之后运行
  @Override
  protected void tearDown() throws Exception {
  System.out.println("Tear down");
  }
  }
  
  
  如果采用默认的TestSuite,则测试方法必须是public void testXXX() [throws Exception] {}的形式,并且不能存在依赖关系,因为测试方法的调用顺序是不可预知的。
上例执行后,控制台会输出
  Set up
  Test Math.pow
  Tear down
  Set up
  Test Math.min
  Tear down
  
  
  从中,可以猜测到,对于每个测试方法,调用的形式是:
  testCase.setUp();
  testCase.testXXX();
  testCase.tearDown();
  
  
  运行测试方法
  在Eclipse中,可以直接在类名或测试方法上右击,在弹出的右击菜单中选择Run As -> JUnit Test。
在Mvn中,可以直接通过mvn test命令运行测试用例。
也可以通过Java方式调用,创建一个TestCase实例,然后重载runTest()方法,在其方法内调用测试方法(可以多个)。
  TestCase test = new Junit3TestCase("mathPow") {
  // 重载
  protected void runTest() throws Throwable {
  testMathPow();
  };
  };
  test.run();
  
  
  更加便捷地,可以在创建TestCase实例时直接传入测试方法名称,JUnit会自动调用此测试方法,如
  TestCase test = new Junit3TestCase("testMathPow");
  test.run();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式