您的位置:首页 > 产品设计 > UI/UE

Junit核心——测试集(TestSuite)

2017-02-23 17:36 169 查看
关于测试集,实质就是包含若干个测试类的集合,通过一个具体的实例,让我们来了解一下Junit的测试集

[java] view plain copy







package org.yezi.junit;

public class Calcaute {

public int ride(int a, int b){

return a * b;

}

public int add(int a, int b){

return a + b;

}

public int reduce(int a, int b){

return a - b;

}

}

[java] view plain copy







package org.yezi.junit;

import org.junit.Test;

import static org.junit.Assert.*;

public class TestAdd {

@Test

public void testAdd(){

Calcaute calcaute = new Calcaute();

int result = calcaute.add(80, 20);

assertEquals(100, result);

}

}

[java] view plain copy







package org.yezi.junit;

import org.junit.Test;

import static org.junit.Assert.*;

public class TestReduce {

@Test

public void testReduce(){

Calcaute calcaute = new Calcaute();

int result = calcaute.reduce(80, 20);

assertEquals(60, result);

}

}

[java] view plain copy







package org.yezi.junit;

import org.junit.Test;

import static org.junit.Assert.*;

public class TestRide {

@Test

public void testRide(){

Calcaute calcaute = new Calcaute();

int result = calcaute.ride(80, 20);

assertEquals(1600, result);

}

}

[java] view plain copy







package org.yezi.junit;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.junit.runners.Suite;

import org.junit.runners.Suite.SuiteClasses;

import static org.junit.Assert.*;

@RunWith(value=Suite.class)

@SuiteClasses(value={

TestAdd.class, TestReduce.class, TestRide.class})

public class TestAllRunner {

@Test

public void testAdd(){

Calcaute calcaute = new Calcaute();

int result = calcaute.add(10, 20);

assertEquals(20, result);

}

}

其中,Calcaute.java是我们的业务代码;TestAdd.java、 TestReduce.java、TestRide.java是三个测试类;TestAllRunner.java是一个测试运行器。

在TestAllRunner.java中我们使用@RunWith(value=Suite.class)注解声明该类是一个测试集;
使用@SuiteClasses(value={TestAdd.class, TestReduce.class, TestRide.class})声明该测试集所包含的测试类,运行结果正常通过。

但是我们在TestAllRunner.java声明的一个测试却没有运行(因为这个测试应该不能通过的),这是因为我们并没有把TestAllRunner.java声明到测试集中,通过修改测试集声明







@SuiteClasses(value={

TestAdd.class, TestReduce.class, TestRide.class, TestAllRunner.class})

我们可以让TestAllRunner.java中的测试也一起运行

转载:http://blog.csdn.net/yezis/article/details/43120867
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: