???????? ??????

????JAVA?械??????????????????????????写?些???????????????????????????????????????????????????????????????Bug????????Bug???? JUnit??????????????????????????????Bug?????纾�????写??????????谐????????????????????0????????????“??0??”????????????斜??????些???胁???????????锟�?

????@Test(expected = ArithmeticException.class)

????public void divideByZero() ...{

????calculator.divide(0);

????}

?????????????????????????????@Test?????expected????????????????????????????????JUnit?????????????????????????????????????

??????? Runner (??????)

?????????????????????????????????????JUnit?????????????????????????????——Runner????JUnit???泻??? Runner?????????????????????????Runner???懈???????????????????????????Runner????????????????????????????????????写?????????????????????????Runner??????????JUnit??????????Runner?????????????????????????????Runner???????????????浠�??????????未????????????????

????import org.junit.internal.runners.TestClassRunner;

????import org.junit.runner.RunWith;

????//???????????TestClassRunner?????????????????

????public class CalculatorTest ...{

????...

????}

????@RunWith(TestClassRunner.class)

????public class CalculatorTest ...{

????...

????}

???????????????????????????????Runner????????@RunWith???????????????????Runner???????????????????????????????@RunWith???????????????????????????魏????????????????????Runner???????????械????泻??????????Runner?????谩??????????????????Package??????????????????写????????????????????????????????Runner?????泄????

?????濉� ??????????

???????????????????????????????????????????????????????????????????????纾�??????????????????????????????????“????????????????????”??????????写?????????????写5???????????5??????????????????????????榉�?????椤�?????????????????????????????“??????????????”????????????????????????0??????????????????锟�?

????import org.junit.AfterClass;

????import org.junit.Before;

????import org.junit.BeforeClass;

????import org.junit.Test;

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

????public class AdvancedTest ...{

????private static Calculator calculator = new Calculator();

????@Before

????public void clearCalculator() ...{

????calculator.clear();

????}

????@Test

????public void square1() ...{

????calculator.square(2);

????assertEquals(4?? calculator.getResult());

????}

????@Test

????public void square2() ...{

????calculator.square(0);

????assertEquals(0?? calculator.getResult());

????}

????@Test

????public void square3() ...{

????calculator.square(-3);

????assertEquals(9?? calculator.getResult());

????}

????}