Void Mehoden Testen

Blueeye123

Mitglied
Hallo zusammen,

ich hatte eben schonmal etwas geschrieben, da ich einen Fehler in einen Programm nicht gefunden hatte, dass hatte sich erledigt, ich habs geschafft:D
Doch jetzt habe ich Leider ein anderes Problem
ich soll einen Methode testen, die ein Array sortiert. public static void sort(int[] a)
Ich versuche es schon die ganze Zeit, aber bei der Fehlermeldung steht

The method assertEquals(Object, Object) in the type Assert is not applicable for the arguments (int[], void)
Das Problem ist wohl, dass void, aber die Methode muss void sein

Java:
public class SorterTest {

	@Test
	public void ArraySorterTest1() {
		

		int a[] = { 5, 1, 0 }; // ist
		int[] b = { 0, 1, 5 }; // soll rauskommen

		Assert.assertEquals(b, ArraySorter.sortArrayOfLength3(a));
	}

Ich habe schon mehrer assert versucht, aber es kommt immer diese Fehlermeldung, wie oben geschrieben

Hilfe :(
 
Zuletzt bearbeitet:

misterbanana

Mitglied
Hallo,

um nochmal spezifischer auf dein Problem einzugehen:

1. Zu sortierendes Array erzeugen (a)
2. Erwartetes Array erzeugen (b)
3. Array sortieren
4. assertEquals(a,b);

Dir fehlt also nur ein Zwischenschritt :)

mfg misterbanana
 

Blueeye123

Mitglied
Oh, danke dir kann ich den eine Methode in einer Testclasse von einer anderen Klasse aufufen?

SO

Java:
@Test
	public void ArraySorterTest1() {

		int[] a = { 5, 1, 0 }; // ist
		int[] b = { 0, 1, 5 }; // soll rauskommen
		ArraySorter.sortArrayOfLength3(a);
		assertEquals(b, a);
	}


Nun ist der Testfall, aber rot,also Test fehlgeschlgen meine ich
 
Zuletzt bearbeitet:

misterbanana

Mitglied
Die Methode befindet sich vermutlich in einer Klasse. Trifft dies zu, musst du zuerst mittels:

Klassenname instanzname = new Klassenname();

ein Objekt der Klasse instanziieren.

Daraufhin kannst du mit:

instanzname.sortArrayOfLength3(a);

die Methode aufrufen.

mfg misterbanana
 

Blueeye123

Mitglied
Ok, danke dir

aber wenn ich es jetzt si schreibe ist es immer noch ein roter Testlauf. Vermutlich habe ich hier ein Vertändnissproblem oder bin momentan blöd :/

Java:
@Test
	public void ArraySorterTest1() {

		int[] a = { 5, 1, 0 }; // ist
		int[] b = { 0, 1, 5 }; // soll rauskommen
		ArraySorter sortArrayOfLenght3 = new ArraySorter();

		ArraySorter.sortArrayOfLength3(a);
		assertEquals(a, b);
	}
 

misterbanana

Mitglied
Du musst die Methode mithilfe ihrer Instanz aufrufen:

ArraySorter.sortArrayOfLength3(a);

musst du ändern in

sortArrayOfLenght3.sortArrayOfLength3(a);

Poste mal den kompletten Methodenkopf der Methode sortArrayOfLength3()
 

Blueeye123

Mitglied
Java:
public static void sortArrayOfLength3(int[] a) {
		
		if (a.length < 3 || a.length > 3 || a == null)
			throw new IllegalArgumentException("Bedingung wurde verletzt!!!!!");
		for (int i = 1; i < a.length; i++) {

			int x = a[i];
			int j = i;
			while (j > 0 && a[j - 1] > x) {
				a[j] = a[j - 1];
				a[j - 1] = x;
				j--;
			}
		}
	}
 
Zuletzt bearbeitet:

misterbanana

Mitglied
Also, da es sich um eine statische Methode handelt müssen wir keine Instanz erzeugen,
sondern können direkt mittels:

ArraySorter.sortArrayOfLength3(a);

auf die Methode zugreifen.

Sende doch mal die Dateien komplett. Es ist relativ ungünstig jede Methode static zu machen.

mfg misterbanana
 

misterbanana

Mitglied
:)

OK, mal anders. Das kann von mir aus auch static bleiben, kein Problem. Was genau ist denn ein roter Testdurchlauf bei dir?
Ein fehlgeschlagener Test? Falls ja, dann ist dies so richtig, da du eine ArrayIndexOutOfBoundsException erhalten wirst.
Falls nein, dann ist es nötig zu sehen, wie die Struktur des Projekts ist.
 

Blueeye123

Mitglied
Ja genau, der Test ist fehlgeschlagen sollte aber grün sein. Aber danke für deine Hilfe :). Ich bin Hundemüde und bin im Bett, dass hat mich den ganzen abend aufgehalten

Danke dir nochmal
 

misterbanana

Mitglied
Kein Ding. Damit wäre das Thema wohl abgeschlossen, wenn du wissen willst was der Fehler ist:

Arrays beginnen bei 0 und nicht (wie in deinem Code) bei 1,

[][][]
und du willst sozusagen mit 3 auf das dritte Element zugreifen, 3 ist aber de facto das 4te Element =>

java.lang.ArrayIndexOutOfBoundsException: 3

Gute Nacht
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Kann mir jemand sagen warum public void unzulässig ist? Java Basics - Anfänger-Themen 2
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
V Methoden printChar Methode mit Rückgabetyp void Java Basics - Anfänger-Themen 26
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
MrDramasetter Rückgabetyp Void oder Sting Java Basics - Anfänger-Themen 18
C Void Methode überladen Java Basics - Anfänger-Themen 5
V for-Schleife in einer void Methode Java Basics - Anfänger-Themen 3
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
Tommy Nightmare void Methode gibt Array zurück Java Basics - Anfänger-Themen 3
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
H Variablen Void und der Rückgabewert Java Basics - Anfänger-Themen 6
G Interpreter-Fehler Problem mit void-Methoden Java Basics - Anfänger-Themen 2
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
T Void Java Basics - Anfänger-Themen 32
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
T public void - Problem Java Basics - Anfänger-Themen 10
M Methoden void verschachteln Java Basics - Anfänger-Themen 4
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
S Static void Methode Java Basics - Anfänger-Themen 12
L Objekte aus einem void in anderen voids verwenden Java Basics - Anfänger-Themen 8
K GUI Button methoden/void Problem Java Basics - Anfänger-Themen 6
S Probleme mit dem rückgabetyp void Java Basics - Anfänger-Themen 8
D Array void Methode erstellen. Java Basics - Anfänger-Themen 12
E Methoden public static void main(String[] args) Java Basics - Anfänger-Themen 9
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
D Compiler-Fehler void is an invalid type for the variable Java Basics - Anfänger-Themen 5
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
S Datentypen float statt void Java Basics - Anfänger-Themen 3
S Static void main <-> componentListener Java Basics - Anfänger-Themen 9
O Probleme mit void java.awt.Component.setBackground(Color c) Java Basics - Anfänger-Themen 2
T Hilfe bei void, int !? Java Basics - Anfänger-Themen 14
U void shift Java Basics - Anfänger-Themen 7
T Geht so was? public void verkaufe (<X implements Produkt& Java Basics - Anfänger-Themen 8
D generische methode <T> void . Java Basics - Anfänger-Themen 9
C public static void main(String[] args) Java Basics - Anfänger-Themen 6
D Frage zu public static void main. Java Basics - Anfänger-Themen 4
K void Methode abbrechen Java Basics - Anfänger-Themen 7
G Vor oder hinter public static void main. ? Java Basics - Anfänger-Themen 8
M 'void' type not allowed Java Basics - Anfänger-Themen 18
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G Was ist public static void main(String[] args)? Java Basics - Anfänger-Themen 12
G <identifier> expected bei public void final Java Basics - Anfänger-Themen 3
H void not allowed? Java Basics - Anfänger-Themen 4
P Void-Aufrufe verursachen IO-Exceptions? Java Basics - Anfänger-Themen 4
T Von Main auf eine Variable in void zugreifen Java Basics - Anfänger-Themen 4
C public void keyPressed(KeyEvent e) Java Basics - Anfänger-Themen 2
N public void und verhalten bei return Java Basics - Anfänger-Themen 2
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
A die public static void main ? Java Basics - Anfänger-Themen 3
C Java-Anfang main void public? Java Basics - Anfänger-Themen 5
N public static void main(String args[]) Java Basics - Anfänger-Themen 6
G Warum eigentlich static void? Java Basics - Anfänger-Themen 3
T void Methode -> keine Chance Java Basics - Anfänger-Themen 6
F public final void getsignature() | anfänger Java Basics - Anfänger-Themen 7
B Problem mit einer static void Methode Java Basics - Anfänger-Themen 8
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
R void? static? beide? garnichtst von beiden? Java Basics - Anfänger-Themen 11
B Eine void innerhalb einer anderen void Java Basics - Anfänger-Themen 7
G in void verändern Java Basics - Anfänger-Themen 5
J public static void main? Java Basics - Anfänger-Themen 5
G public static void main(final String[] args) Java Basics - Anfänger-Themen 4
N public static void Java Basics - Anfänger-Themen 18
X Was genau heißt "public static void main(String[] args) Java Basics - Anfänger-Themen 4
B public static void main (String[] args) ??? Java Basics - Anfänger-Themen 2
G getParameter in public static void main Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
U JUnit testen auf SomeException Java Basics - Anfänger-Themen 5
U Sortierung in collections testen Java Basics - Anfänger-Themen 11
Düsseldorf2002 Testen meines Algorithmus Java Basics - Anfänger-Themen 1
nonickatall Ausführbarkeit von Code testen bzw. Remote Debugging Java Basics - Anfänger-Themen 4
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
T Kann jemand kurz das Programm testen? Java Basics - Anfänger-Themen 13
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
J Womit kann ich diese Methode testen? Java Basics - Anfänger-Themen 5
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
K Testen in BlueJ Java Basics - Anfänger-Themen 2
J LocalDateTime testen mit Junit Java Basics - Anfänger-Themen 20
I Erste Schritte Testen, ob eine Zahl eine Primzahl ist Java Basics - Anfänger-Themen 8
G Testen mit JUnit Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben