>  기사  >  Java  >  그래픽 Java Junit 입력 사례(코드)

그래픽 Java Junit 입력 사례(코드)

高洛峰
高洛峰원래의
2017-03-12 09:29:461308검색

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 클래스를 만듭니다.

그래픽 Java Junit 입력 사례(코드)

원하는 클래스를 직접 마우스 오른쪽 버튼으로 클릭하면 됩니다. 테스트하려면 다음과 같이 필요한 테스트 방법을 직접 확인할 수 있습니다.

그래픽 Java 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));
    }    
}

예, 맞습니다. , 그건 간단해요. 수업에 문제가 없으면 다음과 같은 사진을 반환할 수 있어야 합니다.

그래픽 Java Junit 입력 사례(코드)

그러나 다음과 같은 다른 방법을 테스트하는 경우 발견한 적이 있습니까? 추가 및 제거, 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 입력 사례(코드)

그게 다입니다. 소개 그게 전부입니다. 진보된 기술이나 사고가 없습니다. 단순한: -/.

마지막 문장을 공유하고 싶습니다.

테스트 사례는 자신이 옳다는 것을 증명하는 것이 아니라 틀리지 않았음을 증명하는 데 사용됩니다.

개인적으로 이 말이 정말 마음에 와닿는 것 같아요.


위 내용은 그래픽 Java Junit 입력 사례(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.