Je reçois une IllegalArgumentException
, mais je n'arrive pas à comprendre pourquoi.
La fonction à laquelle j'essaie d'accéder :
private static Player checkEvents(Player[] players, GameMaster bananas)
Le code problématique :
@Test
public void testCheckEvents() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
Game g = new Game();
GameMaster gm = new GameMaster(4);
Player[] p = new Player[] {new Player(gm), new Player(gm), new Player(gm), new Player(gm)};
Method checkEvents = g.getClass().getDeclaredMethod("checkEvents", new Class[] {p.getClass(), GameMaster.class});
checkEvents.setAccessible(true);
checkEvents.invoke(p, gm); // échoue ici
}
L'échec :
testCheckEvents(nth.bananas.GameTest)
java.lang.IllegalArgumentException: mauvais nombre d'arguments
Qu'est-ce que je fais de mal?