I am trying to test a method in a class which uses a BufferedReader intance:
public class ClassTotest {
private BufferedReader reader;
public boolean methodToTest(){
while (reader.ready()){
reader.readLine();
}
more code
}
}
In my test class I initialized the reader instance using reflection:
class MyTest{
@Test
public void test(){
ClassTotest testClass = new ClassTotest();
Field reader = ClassTotest.class
.getDeclaredField("reader");
reader.setAccessible(true);
StringReader stringReader = new StringReader("testString");
BufferedReader readerToSet = new BufferedReader(stringReader);
reader.set(testClass, readerToSet);
testClass.methodToTest();
}
It goes into the method and I can see that the reader object is initialized, but it always returns true when asked if ready(). So it goes into a infinite loop.
How can I initialize the reader to avoid this infinite loop?
Aucun commentaire:
Enregistrer un commentaire