response =
        File("src\\test\\java\\com\\resources\\products\\response.json").bufferedReader()
            .use { it.readText() }

У меня есть эта строка кода для насмешливого ответа, и она отлично работает на ПК, но не найдена на macbook? Любые решения? Спасибо.

0
dgncn 26 Янв 2022 в 15:05

2 ответа

Вы можете создать каталог активов в каталоге модульного теста (модульный тест Java) и поместить в него свой response.json. а затем вы можете прочитать этот файл с этим кодом ниже:

private static File readAssetsFile(String fileName) {
    // create file for assets file
    final String dir = System.getProperty("user.dir");
    File assetsDir = new File(dir, File.separator + "src/test/assets/");
    return new File(assetsDir, fileName);
}

private static String streamToString(InputStream inputStream)
        throws IOException {
    if (inputStream == null) {
        return "";
    }
    StringBuilder sBuilder = new StringBuilder();
    String line;
    BufferedReader bufferedReader = new BufferedReader(
            new InputStreamReader(inputStream));
    while ((line = bufferedReader.readLine()) != null) {
        sBuilder.append(line).append("\n");
    }
    return sBuilder.toString();
}

// YOUR TESTCASE
@Test
public void testReadResponseJson() throws IOException {
    File respFile = readAssetsFile("response.json");
    String respText = streamToString(new FileInputStream(respFile));
    assertEquals("{}", respText);
}
0
Phil 26 Янв 2022 в 15:19

Я решил:

 val home = System.getProperty("user.home")
    val file = File(home + File.separator + "Desktop" + File.separator + "response.json")

Каталог рабочего стола для образца. Я дам абсолютный путь шаг за шагом.

0
dgncn 26 Янв 2022 в 16:00