Я новичок в Stackoverflow и мне интересно, почему почти все пишут примеры кодов со статическим main () и выводят, как здесь, в первом ответе: какой-то уродливый main
от какого-то уродливого главного:
Но то, что вы опубликовали, похоже, это просто файл свойств. Попробуйте это:
import java.io.FileInputStream;
import java.util.Properties;
public class Main {
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
properties.load(new FileInputStream("test.properties"));
System.out.println(properties.getProperty("ReferenceDataLocation"));
System.out.println(properties.getProperty("LicenseKey"));
System.out.println(properties.getProperty("foo"));
}
}
который напечатает:
as
al
null
не было бы лучше написать его как JUnit Test? Это легче читать. Вы можете проверить результат только с помощью CTRL + C + CTRL-V + RunAs -> JUnit и посмотреть, что ожидается (или нет).
Я не прав с этой идеей?
Я бы написал так:
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
import java.io.ByteArrayInputStream;
import java.util.Properties;
import org.junit.Test;
public class TestSomeInputStreamAsProperties {
String someFileAsString =
"ReferenceDataLocation = as\n"+
" \n" +
" \n" +
" ##############################################################################\n" +
" #\n" +
" # LicenseKey\n" +
" # Address Doctor License\n" +
" #\n" +
" ##############################################################################\n" +
" LicenseKey = al\n";
@Test
public void whenReadingFromSomeInputStreamWeShouldGetProperties() throws Exception {
// Arrange
Properties properties = new Properties();
// Act
properties.load(new ByteArrayInputStream(someFileAsString.getBytes()));
// Assert
assertThat(properties.getProperty("ReferenceDataLocation"), is("as"));
assertThat(properties.getProperty("LicenseKey"), is("al"));
assertThat(properties.getProperty("foo"), is(nullValue()));
}
}
Вопрос: зачем мне писать пример с main () и output? почему пользователи не пытаются сесть в поезд JUnit и начать писать тесты для проверки своего кода?
+
Другой вопрос: почему люди не публикуют свои проблемы как тесты JUnit?
Я немного разочарован.
РЕДАКТИРОВАТЬ : - не поймите меня неправильно. Это просто ожидания> реальность;) Я думаю, что stackoverflow по-прежнему отличный сайт, и я напишу здесь все свои проблемы и постараюсь помочь другим решить их. Я думал, что JUnit более распространен, и ваше сообщество будет признательно за решение проблем с JUnit.
Вместо этого я понимаю, что это никому не нужно.
Разве вы тоже не будете разочарованы?