Как разобрать файл функций огурца в Java или Groovy?

Мне нужно проанализировать файлы.feature и создать данные Json. В настоящее время я могу читать шаги, используя регулярные выражения, но я хочу проанализировать весь файл объектов.

Path path= Paths.get("path to feature file").toAbsolutePath();
    try {
        File file = new File(path.toString())
                    try {
                        List<String> data = Files.readAllLines(file);

                        data.forEach(line -> {
                            Matcher stepMatcher = Pattern.compile("\\b(Given|When|Then|And|But)(.*)").matcher(line);
                            if (stepMatcher.find()) {
                                System.out.println(line);
                            }
                        });
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

1 ответ

Решение

Я получил ответ в форме Google. ответ

public void readFeatureFile() {
    Path fpath= Paths.get("path to file").toAbsolutePath();
    String path = fpath.toString();
    String gherkin;
    try {

        gherkin = FixJava.readReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
        System.out.println("gherkin...\n" + gherkin);
        StringBuilder json = new StringBuilder();
        System.out.println("json: '" + json + "'");
        JSONFormatter formatter = new JSONFormatter(json);
        System.out.println("formatter: " + formatter.toString());
        Parser parser = new Parser(formatter);
        System.out.println("parser: " + parser.toString());
        parser.parse(gherkin, path, 0);
        System.out.println("json: '" + json + "'"); 
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (RuntimeException e) {
        e.printStackTrace();
    }
}

проверьте этот URL для ссылки обсуждения обсуждения

Другие вопросы по тегам