Heim > Java > javaLernprogramm > Grafischer Java-Junit-Eintragsfall (Code)

Grafischer Java-Junit-Eintragsfall (Code)

高洛峰
Freigeben: 2017-03-12 09:29:46
Original
1351 Leute haben es durchsucht

Detaillierte Erläuterung des Java Junit-Eintragsfalls (Code)

Gehen Sie direkt zur Code-Demonstration:

Sie haben beispielsweise ein Array geschrieben ListeKlassenmethode:

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;
    }  
}
Nach dem Login kopieren

Was soll ich tun, wenn ich es jetzt testen möchte? Zu diesem Zeitpunkt kann das Junit-Tool verwendet werden.

Zuerst erstellen wir eine Junit-Klasse:

Grafischer Java-Junit-Eintragsfall (Code)

Wenn Sie mit der rechten Maustaste direkt auf die gewünschte Klasse klicken zum Testen Sie können die Testmethode direkt überprüfen, z. B.:

Grafischer Java-Junit-Eintragsfall (Code)

Dann können Sie direkt mit dem Hinzufügen von Methoden beginnen:

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));
    }    
}
Nach dem Login kopieren

Ja, das stimmt, das ist es einfach. Wenn es kein Problem mit Ihrer Klasse gibt, sollten Sie in der Lage sein, ein Bild wie dieses zurückzugeben:

Grafischer Java-Junit-Eintragsfall (Code)

Haben Sie jedoch festgestellt, dass, wenn Sie andere Methoden testen, wie z Hinzufügen und Entfernen. Es ist erforderlich, dass eine ArrayList vorab mit Daten gefüllt ist. Muss ich dies jedes Mal tun, wenn ich einen Test durchführe?

Das ist zu überflüssig. Zu diesem Zeitpunkt hat JUnit seinen eigenen cleveren Trick:

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 ;

}
Nach dem Login kopieren

Es scheint jetzt fast in Ordnung zu sein, aber was tun, wenn mehrere Testklassen vorhanden sind und diese einzeln ausgeführt werden? Ist das nicht vergleichbar mit dem Erstellen eines Hauptmethodentests?

Daher stellt Junit eine weitere Testsuite-Gruppe zur Verfügung:

//你现在有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 修饰的,空类
}
Nach dem Login kopieren

Zusätzlich zu den oben geschriebenen Kommentaren gibt es tatsächlich einige, auf die ich aber noch nicht näher eingehen werde. (Du bist zu dreckig, um diese zu benutzen, lauf weg...), ich werde es veröffentlichen, damit die Leser es sich ansehen können:

Grafischer Java-Junit-Eintragsfall (Code)

Das ist alles, es ist nur ein Einleitung Das ist alles. Es gibt keine fortschrittliche Technologie oder Denkweise. Einfach: -/.

Ich möchte noch einen letzten Satz sagen:

Testfälle werden verwendet, um zu beweisen, dass Sie nicht falsch liegen, und nicht, um zu beweisen, dass Sie Recht haben.

Ich persönlich denke, dass mir das wirklich aus dem Herzen spricht.


Das obige ist der detaillierte Inhalt vonGrafischer Java-Junit-Eintragsfall (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage