Java Junit 입력 사례(코드)에 대한 자세한 설명
코드 데모로 바로 이동:
예를 들어 Array를 작성했습니다. 목록 수업방식 :
public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[100]; public void add(Object o){ } public void add(int index, Object o){ } public Object get(int index){ return Object; } public Object remove(int index){ return Object; } public int size(){ return -1; } }
지금 테스트하고 싶다면 어떻게 해야 하나요? 이때 Junit 도구를 사용할 수 있습니다.
먼저 Junit 클래스를 만듭니다.
원하는 클래스를 직접 마우스 오른쪽 버튼으로 클릭하면 됩니다. 테스트하려면 다음과 같이 필요한 테스트 방법을 직접 확인할 수 있습니다.
그런 다음 여기에 메서드 추가를 직접 시작할 수 있습니다.
public class ArrayListTest { // 这里的@Test是必须的注释,就是告诉JUnit这里就是一个测试方法 @Test public void testGet() { static Object[] Data = new Object[]{1,2,3,4,5,6,7,8}; ArrayList test; // 添加数据到test中 ......... ......... //测试test 这里要说一下, //出了要assertEqual 判断值是否相等的话,其实还有assertFalse,assertNull等方法判断 assertEqual(Data[1],test.get(1)); } }
예, 맞습니다. , 그건 간단해요. 수업에 문제가 없으면 다음과 같은 사진을 반환할 수 있어야 합니다.
그러나 다음과 같은 다른 방법을 테스트하는 경우 발견한 적이 있습니까? 추가 및 제거, ArrayList에 데이터가 미리 채워져 있어야 합니다. 테스트를 실행할 때마다 이 작업을 수행해야 합니까?
너무 장황합니다. 이때 JUnit은 자신만의 영리한 트릭을 가지고 있습니다:
public class ArrayListTest { static Object[] Data = new Object[]{1,2,3,4,5,6,7,8}; ArrayList test; //这个before注释可以理解成: //在执行每个@Test修饰的方法前都先要执行这个setUp,等于前置条件一样 @Before public void setUp() throws Exception{ test = new ArrayList(); for(Object data: Data){ test.add(data); } } //test function ; }
이제 거의 괜찮아 보이는데 테스트 클래스가 여러 개 있을 때 하나씩 실행하려면 어떻게 해야 할까요? main 메서드 테스트를 만드는 것과 비슷하지 않나요?
그래서 Junit은 또 다른 테스트 스위트 그룹을 제공합니다:
//你现在有3个测试类 public class Test1{ @Test public void test(){ //...Test1 } } public class Test2{ @Test public void test(){ //...Test2 } } public class Test3{ @Test public void test(){ //...Test3 } } //创建一个测试套件类(测试套件可以互相叠加的): @RunWith(Suite.class) @Suite.SuiteClasses({test1.class,test2.class,test3.class }) public class SuitTest { //必须是public 修饰的,空类 }
위에 쓰여진 설명 외에도 실제로 꽤 많은 설명이 있지만 아직 다루지는 않겠습니다. (이거 쓰기엔 너무 쓰레기야 도망쳐...) 독자들이 참고할 수 있도록 게시하겠습니다:
그게 다입니다. 소개 그게 전부입니다. 진보된 기술이나 사고가 없습니다. 단순한: -/.
마지막 문장을 공유하고 싶습니다.
테스트 사례는 자신이 옳다는 것을 증명하는 것이 아니라 틀리지 않았음을 증명하는 데 사용됩니다.
개인적으로 이 말이 정말 마음에 와닿는 것 같아요.
위 내용은 그래픽 Java Junit 입력 사례(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!