lundi 12 janvier 2015

BufferedReader ready() method always true

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