Автоматически добавьте свойства при выполнении JUnit в Eclipse

Или вы могли бы просто создать элемент ссылки и щелкнуть по нему ...

var evLink = document.createElement('a');
evLink.href = 'http://' + strUrl;
evLink.target = '_blank';
document.body.appendChild(evLink);
evLink.click();
// Now delete it
evLink.parentNode.removeChild(evLink);

Это не должно блокироваться никакими всплывающими блокаторами ... Надеюсь.

17
задан Romain Linsolas 11 March 2009 в 13:21
поделиться

4 ответа

Мое решение состоит в том, чтобы создать абстрактный тестовый базовый класс для всех тестов в проекте, который расширяет TestCase. Это должно быть абстрактно, таким образом, автоматическое средство поиска модульного теста не рассмотрит это.

В статическом блоке кода этого класса, я установил все свойства, в которых я нуждаюсь. Это гарантирует, что код работает однажды и только однажды и что он работает перед любым тестом в моем проекте.

[РЕДАКТИРОВАНИЕ] Вы говорите, что Spring инициализируется перед тестовым прогоном. Это - ошибка в Вашем проекте: Это должны быть тесты, кто инициализирует Spring. Иначе Вы будете всегда сталкиваться с проблемой, что необходимо протестировать что-то за пределами управления.

Поэтому я предлагаю переместить Spring init код в место, где можно назвать его в моменте времени, когда среда готова.

, С другой стороны, проверка, что среда правильно настраивается в установке () и бросает ошибку, если свойство отсутствует. Таким образом, Вы будете, по крайней мере, знать, почему тесты перестали бы работать позже. Но я все еще предпочитаю иметь полный контроль когда, какая подсистема оживает. Что-либо еще просто просит о бедствии.

7
ответ дан 30 November 2019 в 11:13
поделиться

Вы могли попробовать, это - переходит в

 Window->Preferences->Java->Installed JREs

, ответ выбирает используемую JVM, чем помещенный "VM По умолчанию" prameter как

  -DrunningInEclipse

, Чем можно проверить из TestCase:

   System.getProperty("runningInEclipse") != null
27
ответ дан 30 November 2019 в 11:13
поделиться

Когда я хочу установить некоторые записи свойств для своего теста junit, я реализую следующий

protected void setUp() throws Exception {
        super.setUp();

        System.setProperty("Property1", "value1");
        System.setProperty("Property2", "value2");
}

, свойства установлены, прежде чем тестовый метод называют

РЕДАКТИРОВАНИЕ: также можно считать свойства из файла и в них к свойствам System

7
ответ дан 30 November 2019 в 11:13
поделиться

Я никогда не понимал, почему конфигурации запуска имеют способ определить переменные среды, но единственный способ добавить, что системное свойство, кажется, для добавления vm аргументов.

способ, которым я работал вокруг этого, состоит в том, чтобы иметь тесты (или краткий обзор тестирует базовый класс), тест для присутствия необходимых свойств, если они не там тогда, я загружаю их из .properties файла на пути к классу.

Это работает, поскольку я могу все еще переопределить их или определить их от МУРАВЬЯ или Знатока, но могу также 'щелкнуть правой кнопкой'-> Выполнение Как-> Тест Junit отдельные тестовые файлы.

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

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="database.properties"/>
        <property name="ignoreResourceNotFound" value="true" />
        <property name="systemPropertiesMode">
            <util:constant static-field="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        </property>
</bean>
1
ответ дан 30 November 2019 в 11:13
поделиться
Другие вопросы по тегам:

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