Einheit: Wie Schreibe Testfall mit jUnit und Mockito

Ich bin ganz neu Mockito und jUnit und TDD im Allgemeinen und ich versuche zu lernen, die richtige Art und Weise zu tun, TDD. Ich brauche Paare Beispiel, um einen Anstoß für mein Gehirn. ALSO bitte helft mir

Also ich habe eine Methode getNameInc(String dirPath, String filenName). So ein Dateiname wie bankAccount.pdf, und wenn in diesem Ordner keine Datei mit dem Namen bankAccount.pdf, dann wieder bankAccountAA.pdf. Wenn es existiert eine bankAccount.pdf dann return bankAccountBB.pdf Die increment ist AA-ZZ. Wenn es zu erreichen ZZ dann ist es ein Rollback zu AA. Ich habe bereits implementieren die Logik dieser Methode. Wie kann ich die unit-test dieser Methode mit Mockiti und jUnit?

BEARBEITEN

Hier ist die Klasse und die Methoden, die beteiligt sind.

public class PProcessor{

    private final Map<Integer, String> incMap = new HashMap<Integer, String>();

    private String getNameInc(String dirPath, String filenName){
         String[] nameList = new File(dirPath).list(new FilenameFilter(){
            public boolean accept(File file, String name) {
                //only load pdf files
                return (name.toLowerCase().endsWith(".pdf"));
            }
        });
        //Return the number of occurance that a given file name appear
        //inside the output folder.
        int freq = 0;
        for(int i=0; i<nameList.length; i++){

            if(fileName.equals(nameList[i].substring(0, 8))){
                freq++;
            }
        }
        return incMap.get(freq);
    }

    private void generateIncHashMap(){
        incMap.put(new Integer(0), "AA");
        incMap.put(new Integer(1), "BB");
        incMap.put(new Integer(2), "CC");
        ...
    }
}

generateIncHashMap() aufgerufen werden, die im Konstruktor generieren Sie vorab die hash map

Ich denke, Sie sind fehlt den Punkt der einen zu spotten. Ein mock nicht implementieren sollte jeder Logik. Generell wird es gerade wieder hart codierte Werte basieren auf den test-Fall es eingesetzt wird.
Ich habe bereits implementieren die Logik. Die Methode getNameInc(String dirPath, String fileName) ist bereits von mir. Ich Frage mich nur, wie unit-Tests. Es kann entweder sein, mockito oder plain old jUnit. Ich versuche zu lernen, die Idee.
froh, dass Sie möchten, verwenden TDD! Aber die Klänge, die aus Ihrem letzten Kommentar, wie du geschrieben hast die Logik... was ist das Gegenteil TDD funktioniert. Zuerst einen test schreiben, der fehlschlägt, dann machen Sie den test-pass mit dem richtigen code, dann umgestalten, dass code, so ist es sauberer, aber nicht mehr als den test zu bestehen. Schreiben Sie dann eine weitere Schwäche testen. Mockito ist es, Ihnen zu helfen stub-out von komplexen Dienstleistungen, die der Klasse abhängt. Können Sie aktualisieren Sie Ihre Frage mit den Klassen, die gemeinsam auf dieses feature?
Ich update meinen post mit einigen codes. Können Sie nehmen einen Blick auf Sie.

InformationsquelleAutor Thang Pham | 2011-05-17

Schreibe einen Kommentar