junit实训入门篇
第一关
package step1;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import step1.JunitSub;
public class JunitSubTest {
JunitSub js = new JunitSub();
int sub = js.sub(5,2);
int testSub = 3;
@Test
public void testSub() {
testSub = js.sub(5,2);
assertEquals("错误:减法计算错误", 3, testSub);
}
}
第二关
package step2;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class JunitAnnotation {
@AfterClass
public static void beforeClass() {
System.out.println("in before class");
}
@BeforeClass
public static void afterClass() {
System.out.println("in after class");
}
@After
public void before() {
System.out.println("in before");
}
@Before
public void after() {
System.out.println("in after");
}
@Test
public void test() {
System.out.println("in test");
}
}
第三关
package step3;
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() {
}
}
第四关
package step4;
import org.junit.Test;
public class TestTimeOut {
@Test(timeout=1000)
public void test() {
while(true){}
}
}
junit 实训进阶篇
第一关
package step1;
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;
import step1.Calculator;
@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(){
return Arrays.asList(new Object[][]{
{1, 2, -1},
{5, 3, 2},
{-1, -2, 1},
{-5, -3, -2}
});
}
@Test
public void testSub(){
Calculator cal = new Calculator();
assertEquals(cal.sub(input11, input22), expected);
}
}
第二关
package step2;
import static org.junit.Assert.*;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import step2.Person;
public class JunitException {
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test(expected = IllegalArgumentException.class)
public void checkAge() {
Person person = new Person();
person.setAge(-1);
}
}
第三关
package step3;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runner.JUnitCore;
@RunWith(Suite.class)
@Suite.SuiteClasses({
CalculateTest.class,
CarTest.class
})
public class SuiteTest {
public static void main(String[] args) {
JUnitCore runner = new JUnitCore();
runner.run(SuiteTest.class);
}
}
第四关
package step4;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
JunitSubTest junitSubTest = new JunitSubTest();
Result result = JUnitCore.runClasses(junitSubTest.getClass());
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}