Я пишу тестовый код JUnit, и он не запускается, но когда я компилирую и запускаю его в самом производственном коде, он работает. Могу я узнать, что я здесь сделал не так? Я на самом деле читаю файл, а затем метод searchString должен отображать количество строк, эквивалентное searchLine
Это мой производственный код:
public static boolean searchString( String inputFile, String searchLine )
{
boolean success = true;
try
{
int lineNo = 1;
Scanner sc = new Scanner(new File(inputFile));
while(sc.hasNextLine())
{
if(sc.nextLine().equals(searchLine))
{
System.out.println(lineNo);
}
lineNo++;
}
}
catch(IOException e)
{
success = false;
}
return success;
}
Это мой тестовый код :
import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import static org.junit.Assert.*;
import java.io.*;
@RunWith(JUnit4.class)
public class JUnitTest
{
private ByteArrayOutputStream capOut = null;
@Test
public void testSearchString()
{
System.setOut(new PrintStream(capOut));
Final.searchString("input.txt", "Hello");
assertEquals( "1\n", capOut.toString() );
}
}
Файл input.txt выглядит так: «Привет \ n Java»