/**
* JUnit 注解示例
*/
@Test
public void testYeepay(){
Syetem.out.println("用@Test标示测试方法!");
}
@AfterClass
public static void paylus(){
Syetem.out.println("用@AfterClass标示的方法在测试用例类执行完之后!");
}
/**
* 用 JUnit 3.X 进行测试
*/
import junit.framework.Assert;
import junit.framework.TestCase;
public class TestOperation extends TestCase {
private Operation operation;
public TestOperation(String name) { // 构造函数
super(name);
}
@Override
public void setUp() throws Exception { // 在每个测试方法执行 [之前] 都会被调用,多用于初始化
System.out.println("欢迎使用Junit进行单元测试...");
operation = new Operation();
}
@Override
public void tearDown() throws Exception { // 在每个测试方法执行 [之后] 都会被调用,多用于释放资源
System.out.println("Junit单元测试结束...");
}
public void testDivideByZero() {
Throwable te = null;
try {
operation.divide(6, 0);
Assert.fail("测试失败"); //断言失败
} catch (Exception e) {
e.printStackTrace();
te = e;
}
Assert.assertEquals(Exception.class, te.getClass());
Assert.assertEquals("除数不能为 0 ", te.getMessage());
}
}
/**
* 用 JUnit 4.X 进行测试
*/
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestOperation {
private Operation operation;
@BeforeClass
public static void globalInit() { // 在所有方法执行之前执行
System.out.println("@BeforeClass标注的方法,在所有方法执行之前执行...");
}
@AfterClass
public static void globalDestory() { // 在所有方法执行之后执行
System.out.println("@AfterClass标注的方法,在所有方法执行之后执行...");
}
@Before
public void setUp() { // 在每个测试方法之前执行
System.out.println("@Before标注的方法,在每个测试方法之前执行...");
operation = new Operation();
}
@After
public void tearDown() { // 在每个测试方法之后执行
System.out.println("@After标注的方法,在每个测试方法之后执行...");
}
@Test(timeout=600)
public void testAdd() { // 设置限定测试方法的运行时间 如果超出则返回错误
System.out.println("测试 add 方法...");
int result = operation.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtract() {
System.out.println("测试 subtract 方法...");
int result = operation.subtract(1, 2);
assertEquals(-1, result);
}
@Test
public void testMultiply() {
System.out.println("测试 multiply 方法...");
int result = operation.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide() {
System.out.println("测试 divide 方法...");
int result = 0;
try {
result = operation.divide(6, 2);
} catch (Exception e) {
fail();
}
assertEquals(3, result);
}
@Test(expected = Exception.class)
public void testDivideAgain() throws Exception {
System.out.println("测试 divide 方法,除数为 0 的情况...");
operation.divide(6, 0);
fail("test Error");
}
public static void main(String[] args) {
}
}
/**
* 定义了加减乘除的法则
*/
public class Operation {
public static void main(String[] args) {
System.out.println("a + b = " + add(1,2));
System.out.println("a - b = " + subtract(1,2));
System.out.println("a * b = " + multiply(1,2));
System.out.println("a / b = " + divide(4,2));
System.out.println("a / b = " + divide(1,0));
}
public static int add(int a, int b) {
return a + b;
}
public static int subtract(int a, int b) {
return a - b;
}
public static int multiply(int a, int b) {
return a * b;
}
public static int divide(int a, int b) {
return a / b;
}
}
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import java.util.ArrayList;
import java.util.Collection;
/**
* 1、创建一个测试类,继承TestCase类
*/
public class SimpleTestDemo extends TestCase {
public SimpleTestDemo(String name) {
super(name);
}
/**
* 2、写一个测试方法,断言期望的结果
*/
public void testEmptyCollection(){
Collection collection = new ArrayList();
assertTrue(collection.isEmpty());
}
/**
* 3、写一个suite()方法,它会使用反射动态的创建一个包含所有的testXxxx方法的测试套件
*/
public static Test suit(){
return new TestSuite(SimpleTestDemo.class);
}
/**
* 4、写一个main()方法,以文本运行器的方式方便的运行测试
*/
public static void main(String[] args) {
junit.textui.TestRunner.run(suit());
}
}
/**
* 待测试类
*/
import java.util.Arrays;
public class GotoWork {
public String[] prepareSkills() {
String[] skill = { "Java", "MySQL", "JSP" };
System.out.println("My skills include : " + Arrays.toString(skill));
return skill;
}
public String[] addSkills() {
String[] skill = { "Java", "MySQL", "JSP", "JUnit" };
System.out.println("Look, my skills include : " + Arrays.toString(skill));
return skill;
}
}
/**
* 测试类 1
*/
import org.junit.Test;
import static org.junit.Assert.*;
public class PrepareSkillsTest {
GotoWork gotoWork = new GotoWork();
String[] skill = { "Java", "MySQL", "JSP" };
@Test
public void testPrepareSkills() {
System.out.println("Inside testPrepareSkills()");
assertArrayEquals(skill, gotoWork.prepareSkills());
}
}
/**
* 测试类 2
*/
import org.junit.Test;
import static org.junit.Assert.*;
public class AddSkillsTest {
GotoWork gotoWork = new GotoWork();
String[] skill = { "Java", "MySQL", "JSP", "JUnit" };
@Test
public void testAddSkills() {
System.out.println("Inside testAddPencils()");
assertArrayEquals(skill, gotoWork.addSkills());
}
}
/**
* 套件测试
*/
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ PrepareSkillsTest.class, AddSkillsTest.class })
public class SuitTest {
}
/**
* 待测试类
*/
public class Calculate {
public int sum(int var1, int var2) {
System.out.println("此方法的参数值分别为 : " + var1 + " + " + var2);
return var1 + var2;
}
}
/**
* 参数化测试类
*/
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class CalculateTest {
private int expected;
private int first;
private int second;
public CalculateTest(int expectedResult, int firstNumber, int secondNumber) {
this.expected = expectedResult;
this.first = firstNumber;
this.second = secondNumber;
}
@Parameters
public static Collection addedNumbers() {
return Arrays.asList(new Integer[][] { { 3, 1, 2 }, { 5, 2, 3 }, { 7, 3, 4 }, { 9, 4, 5 }, });
}
@Test
public void testSum() {
Calculate add = new Calculate();
System.out.println("Addition with parameters : " + first + " and " + second);
assertEquals(expected, add.sum(first, second));
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有