En utilisant jMock, comment puis-je tester que toutes les méthodes d'une certaine classe ne sont pas appelées lors de l'invocation d'une méthode dans une autre classe ?
Par exemple, si j'ai la classe A
et la classe B
:
class A {
void x() {
}
void y() {
}
void z() {
}
}
class B {
A a;
void doNothing() {
}
}
Comment puis-je tester que l'invocation de B#doNothing()
n'invoque pas tout de la classe A
La méthode de l'UE ?
Je sais qu'avec jMock 2 et JUnit 3, je peux le faire :
public class BTest extends MockObjectTestCase {
@Test
public void testDoNothing() {
B b = new B();
A a = b.getA();
checking(new Expectations() {{
never(a).x();
never(a).y();
never(a).z();
}});
b.doNothing();
}
}
Mais que faire s'il y a plus de 3 méthodes, disons 30 ? Comment tester cela ?