2017-03-05 2 views
0

Ich habe eine Methode in Junit, die für die Überprüfung von Fehlern in einer sehr großen Datei (mehr als 200 k Zeilen) verantwortlich ist.Junit: Wie man Zeilennummer in Parameterdatei

Ich würde gerne wissen, ob es eine Variable gibt, in der Junit die Zeilen, die die Datei enthalten, und die Zeile, in der er den Test durchführt, verwendet, um sie zu verwenden.

Ich weiß, dass in testCase() gibt es eine private Variable, die die Zeile enthält, auf der der Test ausgeführt wird, aber ich kann nicht darauf zugreifen, einen Ratschlag?

Der verwendete Code ist wie folgt:

@Test 
@FileParameters("fileparameter") 
public void testFechaAlteracionExpedienteFS(String line) { 
String TEST= 'test'; 
assertThat(TEST).overridingErrorMessage("Expected: <%s> - but it was: <%s>", line, TEST, ConstantesSql.getConsulta()).isEqualTo(line); 

ich Maven mit Junit 4+ bin mit.

Antwort

0

eine parametrisierte Test Verwendung:

import java.io.File; 
import java.util.Arrays; 
import java.util.Collection; 

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.junit.runners.Parameterized; 
import org.junit.runners.Parameterized.Parameter; 
import org.junit.runners.Parameterized.Parameters; 

@RunWith(Parameterized.class) 
public class ParameterizedTest { 

    @Parameter(0) 
    public File file; 

    @Parameter(1) 
    public String line; 

    @Parameters(name = "{index}: {0}") 
    public static Collection<Object[]> data() { 
     return Arrays.asList(
       new Object[][] { { new File("/path/to/file1"), "line1" }, 
         { new File("/path/to/file2"), "line2" }, 
         { new File("/path/to/file3"), "line3" } }); 
    } 

    @Test 
    public void test() { 
     // Your test code here (read file and line variables) 
    } 

} 
+0

Hallo, das Problem ist, dass die Datei eine variable Größe hat, außerdem verpflichtet mich diese Methode, jede Zeile in der Datei zu lesen. Wie auch immer, danke. – Eshagerao

Verwandte Themen