Hamcrest File Matchers
1. обзор
В этом руководстве мы обсудим средства поиска файлов Hamcrest.
Мы обсуждали в целом Hamcrest Matchers ранее в предыдущей статьеTesting with Hamcrest. В следующих разделах мы сосредоточимся только на сопоставителяхFile.
2. Конфигурация Maven
Во-первых, нам нужно добавить следующую зависимость к нашемуpom.xml:
org.hamcrest
java-hamcrest
2.0.0.0
test
Последнюю версиюjava-hamcrest можно загрузить с Maven Central.
Давайте продолжим изучение поисковиков HamcrestFile.
3. Свойства файла
Hamcrest предоставляет несколько сопоставителей, которые проверяют обычно используемые свойстваFile.
Давайте посмотрим, как мы можем проверить имяFile, используяaFileNamed() в сочетании сString Matcher:
@Test
public void whenVerifyingFileName_thenCorrect() {
File file = new File("src/test/resources/test1.in");
assertThat(file, aFileNamed(equalToIgnoringCase("test1.in")));
}
Мы также можем оценить путь к файлу - снова в сочетании сString Matcher:
@Test
public void whenVerifyingFilePath_thenCorrect() {
File file = new File("src/test/resources/test1.in");
assertThat(file, aFileWithCanonicalPath(containsString("src/test/resources")));
assertThat(file, aFileWithAbsolutePath(containsString("src/test/resources")));
}
Давайте также посмотрим размер файла в байтах:
@Test
public void whenVerifyingFileSize_thenCorrect() {
File file = new File("src/test/resources/test1.in");
assertThat(file, aFileWithSize(11));
assertThat(file, aFileWithSize(greaterThan(1L)));;
}
Наконец, мы можем проверить, доступен лиFile для чтения и записи:
@Test
public void whenVerifyingFileIsReadableAndWritable_thenCorrect() {
File file = new File("src/test/resources/test1.in");
assertThat(file, aReadableFile());
assertThat(file, aWritableFile());
}
4. Существующий сопоставитель файлов
Если мы хотим убедиться, чтоFile или каталог существует, мы можем использовать сопоставителиanExistingFile() илиanExistingDirectory():
@Test
public void whenVerifyingFileOrDirExist_thenCorrect() {
File file = new File("src/test/resources/test1.in");
File dir = new File("src/test/resources");
assertThat(file, anExistingFile());
assertThat(dir, anExistingDirectory());
assertThat(file, anExistingFileOrDirectory());
assertThat(dir, anExistingFileOrDirectory());
}
Также доступен сопоставительanExistingFileOrDirectory(), который объединяет их.
5. Заключение
В этой быстрой статье мы рассмотрели методы сопоставления файлов Hamcrest и их использование.
Как всегда, доступен полный исходный код примеровover on GitHub.