Voici donc le scénarioTests unitaires - comment puis-je remplacer une valeur booléenne par une méthode protégée?
public class Report {
public void Generate {
if (!isValidDate) {
return;
}
//calling other method
}
protected boolean isValidDate() {
boolean isValid = true;
//some logic here to change to false
return isValid;
}
}
Et dans mon test, je ce que je veux définir la valeur booléenne pour être vrai.
@InjectMocks
Report report;
@Before
public void setUp() throws Exception {
Whitebox.setInternalState(report, "isValidParameters", true);
}
@Test
public void testReport() throws Exception {
//test logic to be added here
}
Puis je me suis le RuntimeException: Impossible de définir l'état interne sur un terrain privé. Quelqu'un peut-il m'aider s'il vous plaît sur la façon dont je peux définir la valeur booléenne de cette méthode protégée pour mon test ici? TIA