Muss ein Parametertest immer eine eigene Testklasse sein?

tanzverfuehrung

Bekanntes Mitglied
Wenn ich eine Klasse testen will, mache ich für jede Klasse, eine Testklasse.
Jetzt wollte ich die eine Klasse mit einem Parametertest testen.das klappt soweit auch...
wunderbare sache.:applaus: JEdoch habe ich noch ein Test der Klasse, der nicht mit den Parametern zu tun hat.
Wen ich das als normale Test methode hinzufüge, wird er für jeden Parameter ausgeführt, obwohl die da nicht mal benutzt werden..

Kann ich den Test irgenwie sagen, das er das igrnorieren soll?
ODer muss ich jetzt zwei test klassen für die eine Klasse implementieren?
ein parametertest und ein normalen junit test?:bloed:

hoffe war verständlich erklärt...wenn nciht gebe ich auch noch ein beispiel.
Danke im Vorraus
 
:lol: ok sorry
also das ist ein parameter test, da wird jeder definierte parameter durch gegangen, mit der einen test methode...

coole sache:applaus::toll:

Java:
/*

@RunWith(Parameterized.class)
public class Test {

	/** die zu testende Klasse */
	private Command command;

	@Mock
	private IAssociationObservable associationObservable;
	
	private IState state;

	private boolean isEnabled;

	@Before
	@SuppressWarnings("javadoc")
	public void setUp() {
		initMocks(this);
		command = new Command(associationObservable);
		command.setParent(parent);
	}

	@After
	@SuppressWarnings("javadoc")
	public void tearDown() {
		validateMockitoUsage();
	}

	/**
	 * 
	 */
	public TestDeleteCommand(State state,	boolean isEnabled) {
		this.state = state;
		this.isEnabled = isEnabled;
	}

	@Parameters
	public static Collection<Object[]> data() {
		//@formatter:off
		return Arrays.asList(new Object[][] { 
			{ NORMAL, false }, 
			{ DELETED, false }});
		
		// @formatter:on
	}

	/**
	 * Prüft, ob der Befehl ausführbar oder nicht ausführbar ist, abhängig von dem Zustand.
	 * 
	 * @throws Exception
	 */
	@Test
	public void isEnabled() throws Exception {
		assertThat(command.isEnabled(state), is(isEnabled));
	}
}

jedoch habe ich jetzt noch eine test methode, die nicht mit den parametern zu tun.
die wird dann trotzdem mehrmals(so viele parameter wie definiert sind) aufgerufen

gibt es da evntuell eine annotation oder so, das ich das ausstellen kann oder so?
das der test normal ausgeführt wird, oder muss ich wirklich zwei test klassen erstellen?
 

Zurück
Oben