Как я могу имитировать выбор строки tableView с помощью RxSwift

Выполняете ли вы это для ведения журнала? Если это так, имеется несколько библиотек для этого . Двумя наиболее популярными являются Log4j и Logback .

Java 7 +

Если вам просто нужно сделать это один раз , класс Files делает это легко:

try {
    Files.write(Paths.get("myfile.txt"), "the text".getBytes(), StandardOpenOption.APPEND);
}catch (IOException e) {
    //exception handling left as an exercise for the reader
}

Осторожно: вышеприведенный подход бросит NoSuchFileException, если файл еще не существует. Он также не добавляет новую строку автоматически (которую вы часто хотите при добавлении к текстовому файлу). В ответе Стив Чамберса описывается, как вы могли бы это сделать с классом Files.

Однако, если вы будете писать в один и тот же файл много раз, вышеприведенное должно открывать и закрывать файл на диске много раз, что является медленной операцией. В этом случае буферизованный писатель лучше:

try(FileWriter fw = new FileWriter("myfile.txt", true);
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter out = new PrintWriter(bw))
{
    out.println("the text");
    //more code
    out.println("more text");
    //more code
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}

Примечания:

  • Второй параметр конструктора FileWriter скажет ему добавить к файлу, вместо написания нового файла. [Если файл не существует, он будет создан.)
  • Рекомендуется использовать BufferedWriter для дорогой записи (например, FileWriter).
  • Используя кнопку PrintWriter дает вам доступ к синтаксису println, к которому вы, вероятно, привыкли, от System.out.
  • Но обертки BufferedWriter и PrintWriter не являются строго необходимыми.

Старая Java

try {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("myfile.txt", true)));
    out.println("the text");
    out.close();
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}

Обработка исключений

Если вам нужна надежная обработка исключений для более старой Java, она становится очень многословной:

FileWriter fw = null;
BufferedWriter bw = null;
PrintWriter out = null;
try {
    fw = new FileWriter("myfile.txt", true);
    bw = new BufferedWriter(fw);
    out = new PrintWriter(bw);
    out.println("the text");
    out.close();
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}
finally {
    try {
        if(out != null)
            out.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
    try {
        if(bw != null)
            bw.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
    try {
        if(fw != null)
            fw.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
}

0
задан Harry Blue 19 March 2019 в 09:20
поделиться

1 ответ

Короткий ответ - нет. Модульные тесты не являются местом для объектов UIView и манипулирования объектами UI. Вы хотите добавить цель тестирования пользовательского интерфейса для такого рода тестов.

0
ответ дан Daniel T. 19 March 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: