2013-03-08 16 views

Antwort

0

Sie müssen die Hauptmethode erstellen, die die Funktionalität Ihrer Klasse testen würde.

public static void main(String args[]) 
{ 
    //To do 
} 

In Ihrer Hauptmethode müssen Sie zum Beispiel ein Kartenobjekt konstruieren (vorausgesetzt, Sie haben die Klasse Card).

Card card = new Card(); 

Dann müssen Sie auch ein Deck-Objekt erstellen, die Sie, um Methoden der Deck-Klasse aufrufen, um beispielsweise Karten auf dem Deck

Deck deck = new Deck(); 

Verwenden Sie das Deck-Objekt verwenden würde das Add-Methode aufrufen, um die Karte zu dem Deck

deck.add(card); 

So jetzt Ihre wichtigste Methode sollte wie folgt aussehen hinzuzufügen:

public static void main(String args[]) 
{ 
    Card card = new Card(); 
    Deck deck = new Deck(); 
    deck.add(card); 
} 

Auch in Ihrer Deck-Klasse würde ich empfehlen, List<Card> deck = new ArrayList<Card>(); statt ArrayList<Card> deck = new ArrayList<Card>(); zu verwenden.

Hoffe das gibt Ihnen einen Ausgangspunkt.

+0

Testen von Frameworks gibt es aus einem bestimmten Grund. Ihre Klasse ist ein * Treiber *, Testen bedeutet, ein Ergebnis zu bestätigen. – atamanroman

+0

Ich fühlte nicht, das OP zu offenbaren es war vorteilhaft für ihn, wenn er immer noch nicht weiß, wie man eine Testklasse für sein Programm erstellt. Aus der OP-Beschreibung dachte ich, dass er eine Fahrerklasse brauchte, um sein Programm zu testen. –

4

Zuerst müssen Sie entscheiden, welche Testfälle Sie für Ihre Klasse schreiben müssen. Sie können eine Bibliothek wie Junit verwenden, um Testfälle zu erstellen, sobald Sie die Testfallliste zur Hand haben.

Hier ist ein Beispiel für ein paar Junit Methoden

import static org.junit.Assert.assertEquals; 

import org.junit.AfterClass; 
import org.junit.BeforeClass; 
import org.junit.Test; 

public class MyClassTest { 

    MyClass tester; 

    @BeforeClass 
    public static void testSetup() { 
    tester = new MyClass(); 
    } 

    @AfterClass 
    public static void testCleanup() { 
    // Do your cleanup here like close URL connection , releasing resources etc 
    } 

    @Test(expected = IllegalArgumentException.class) 
    public void testExceptionIsThrown() {   
    tester.divide(1000, 0); 
    } 

    @Test 
    public void testMultiply() { 
    assertEquals("Result", 50, tester.multiply(10, 5)); 
    } 
} 
+0

Entfernen Sie diese Redundanzinitialisierung, indem Sie sie in @Before oder etwas Ähnliches ziehen.Das Benennen des Objekts, das getestet wird, ist eine nette Konvention, imo. – atamanroman

1

Verwenden Sie ein Test-Framework wie JUnit, um die Probe weiter unten sehen,

public class ThingTester extends TestCase 
{ 
    public ThingTester (String name) 
    { 
     super (name); 
    } 

    public static void main(String[] args) 
    { 
     TestRunner.runAndWait(new TestSuite(ThingTester.class)); 
    } 

    public void testGetName() throws Exception 
    { 
     String fileSpec = new String("c:xxxyyyzzz.txt"); 
     assertEquals("zzz.txt", getName(fileSpec)); 
    } 
} 
0

Ich glaube, ich nicht verstehen, was Sie wollen, aber ich werde meinen Vorschlag hier irgendwie geben.

Wo ist die Kartenklasse?

Fügen Sie diese Methode in Ihrer Deck-Klasse hinzu, kompilieren Sie Ihren Code und führen Sie ihn aus.

public static void main(String[] args) { 
    Deck deck = new Deck(); 
    // Call your methods here and do what do you want... 
} 
+0

Dies ist auch ein * Treiber *. Sie müssen ein Ergebnis bestätigen. – atamanroman

+1

Sie sind der Grund, demotivate uns zu versuchen, jemandem zu helfen, weil Sie ohne Grund downvote ... Ich weiß, was ist Test-Klasse, aber das eigene der Frage vielleicht nicht, also lass ihn wählen, was er will und abstimmen in der besseren Antworten... –

0

Wenn Sie in Blue Jay sind, können Sie einfach einen Rechtsklick auf die Klasse und am unteren Rand des Pop - up, gibt es eine Option für „Create Testklasse“ sein. Dies vereinfacht den Prozess. Im Folgenden habe ich ein Beispiel dafür gegeben, was Blue Jay schafft.

import static org.junit.Assert.*; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 

/** 
* The test class TestOfClass2Test. 
* 
* @author (your name) 
* @version (a version number or a date) 
*/ 
public class TestOfClass2Test 
{ 
    /** 
    * Default constructor for test class TestOfClass2Test 
    */ 
    public TestOfClass2Test() 
    { 
    } 

    /** 
    * Sets up the test fixture. 
    * 
    * Called before every test case method. 
    */ 
    @Before 
    public void setUp() 
    { 
    } 

    /** 
    * Tears down the test fixture. 
    * 
    * Called after every test case method. 
    */ 
    @After 
    public void tearDown() 
    { 
    } 
} 
Verwandte Themen