EE308 LAB11

Luv丶 Luv丶 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
The Link Your Class
https://bbs.csdn.net/forums/MUEE308FZ?category=0

The Link of Requirement of This Assignment

https://bbs.csdn.net/topics/603748107
The Aim of This AssignmentSoftware Testing-Junit Test
MUID&FZUID19105045& 831901126
Name

Junye Wu

 

Preparation

Learn related knowledge about Junit Test for Java and Unittest for python. You can finish the following assignment or test Your Project.

 

Task

  1. Here are Junit Test task and Unittest task for choose. If you are good at Java , we suggest you choose the first one, if you are good at Python, then, the latter one.
  2. Follow the requests and tips, complete the test task .

 

Requirements

  1. You should be familiar with Junit Test or Unittest and the usage of these tools.Such as ‘assert, suite, timeout’, check problems for detail.
  2. Fix the missing codes according to requirement for every problem.

 

Junit assert

import static org.junit.Assert.*;
import org.junit.Test;

public class AssertionsTest {
String obj1 = "junit";
String obj2 = "junit";
String obj3 = "test";
String obj4 = "test";
String obj5 = null;
int var1 = 1;
int var2 = 2;
int[] arithmetic1 = { 1, 2, 3 };
int[] arithmetic2 = { 1, 2, 3 };

@Test
public void test() {
// add assert test code between Begin and End, no other change allowed     
    /***********************Begin**************************/                      
    assertEquals(obj1,obj2);
    assertNull(obj5);                                                                                                      
    /************************End***************************/
    }
}

junit time test

import org.junit.Test;
public class TestTimeOut {

// Fix timeout assert in Test function below. Test fail if running 1000ms longer /***********************Begin**************************/                    @Test(timeout=1000)
    public void test() {
        while(true){
            break;
        }
    }
/************************End***************************/ }

 junit parameterized test

import static org.junit.Assert.assertEquals; // static import
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;
import step1.Calculator;
/**
* JUnit4 parameterized test
*/
@RunWith(Parameterized.class)
    public class ParameterTest {
    private int input11;
    private int input22;
    private int expected;
    public ParameterTest(int input11, int input22, int expected){
    this.input11 = input11;
    this.input22 = input22;
    this.expected = expected;
}
@Parameters
public static Collection prepareData(){
/**
*the type of the two-dimension array must be Object.
*data in the two-dimension array is ready of test sub() in Calculator
*  every  element  in  the  two-dimension  array  should  corresponds  to  position  of  parameters  in construct method ParameterTest
*let the third element equals the first subtract the second element according to parameters’ postion
*fix missing codes under ‘Begin’ and above ‘End’ ,pass 4 groups of parameters to test sub method in Calculator is right or not
*tip:only two lines of codes
*/                                                                                                                                                                                  /*********************************Begin********************************************/     /**********************************End********************************************/
}
@Test
public void testSub(){
    Calculator cal = new Calculator();
    assertEquals(cal.sub(input11, input22), expected);
    }
}
// Calculator.java Junit Parameterized Test
/**
* Mathematical Calculation  subtract
*/
public class Calculator {
    public int sub(int a, int b) {
        return a - b;
    }
}

 junit exception test

import static org.junit.Assert.*;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import step2.Person;



public class JunitException {

/**
*add a  line of annotation  in  Begin/End ,check the age of Person Object  is legal or  not.
*throw IllegalArgumentException exception
*/

/***********************************Begin***********************************/

/************************************End************************************/
public void checkage() {
    Person person = new Person();
    person.setAge(-1);
    }
}
//Person.java
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
    if (age < 0 ) {
        throw new IllegalArgumentException("age is invalid");
    }
    this.age = age;
    }
}

 junit suite test

import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import step3.Calculate;
import step3.CalculateTest;
import step3.Car;
import step3.CarTest;

/*
add two lines of annotations. Implement Suite Test of CalculateTest and CarTest Suite Test codes must next to Class SuiteTest, no shift allowed!
*/                                                                                                                                         //************************************************************** 
public class SuiteTest {
}
//Calculate.java
public class Calculate {
    public int add(int a, int b) {
        return a + b;
    }
}

//CalculateTest.java
public class CalculateTest {
    Calculate calculate;
    @Before
    public void setUp() throws Exception {
        calculate = new Calculate();
    }
@Test
    public void testAdd() {
        int result = calculate.add(12, 12);
        assertEquals(24, result);
    }
}

//CarTest.java
public class CarTest {
    Car car;
@Before
    public void setUp() throws Exception {
        car = new Car();
}
@Test
    public void testGetWheels() {
        int result = car.getWheels();
        assertEquals(4, result);
    }
}

//Car.java
public class Car {
    public int getWheels() {
        return 4;
    }
}

 

...全文
评论
收藏 已收藏
分享
返回顶部