JUnit, обратная совместимость и тестирование SOLR - PullRequest
4 голосов
/ 02 февраля 2012

Привет: Это вопрос, состоящий из двух частей: во-первых, я заметил ошибки сборки JUnit 4.7 и обнаружил, что JUnit фактически не имеет обратной совместимости:

Тестирование Solr через встроенный сервер

Таким образом,

Можно ли использовать Junit 4.7 для определенных тестов в других современных версиях (с использованием последней сборки Junit) 8?

Конечно, я также хотел бы знать, в общем, JUnit имеет обратную совместимость? В моем случае, похоже, что базовый тестовый модуль SOLR основан на некоторых причудливых уловках, которые были возможны в JUnit 4.7, которые больше не поддерживаются.

1 Ответ

0 голосов
/ 03 июня 2014

ошибка в сообщении

Ваша ошибка очень общительная, и официальный блог объясняет это ясно.Будьте осторожны с Solr встроенным сервером, он не рекомендуется самим SOLR !!!

Как сказано в официальном объявлении solr uri :

Самый простой и безопасный способ использования Solr - через стандартные HTTP-интерфейсы Solr.Внедрение Solr менее гибкое, сложнее в поддержке, не так хорошо протестировано и должно быть зарезервировано для особых обстоятельств.

Вопрос выбора: «Оставить работающий сервер модульного тестирования» или запустить его »fly "

Я предлагаю вам сделать то же самое, что мы делаем для модульного тестирования, - запустить выделенный сервер solr или - запустить один на лету

Чтобы запустить solrСервер внутри сборки maven, вы можете использовать CARGO: - Для запуска сборки и модульного теста мы используем maven - мы запускаем тест автоматически на Solr - мы запускаем запуск теста экземпляра solr "налетать "и закрывает его, используя conain Maven Cargo - В конце джунита мы закрываем Cargo!:)

Легко и чисто! Наслаждайтесь:)

Пример кода груза maven:

<plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.4.8</version>
            <executions>
                <execution>
                    <id>start-container</id>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop-container</id>
                    <phase>package</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <configuration>
                    <properties>
                        <cargo.servlet.port>8966</cargo.servlet.port>
                    </properties>
                </configuration>

                <container>
                    <containerId>jetty7x</containerId>
                    <type>embedded</type>
                    <systemProperties>
                        <solr.solr.home>${basedir}/target/solr</solr.solr.home>
                        <!-- log4j.configuration>file://${basedir}/src/test/resources/log4j.properties</log4j.configuration -->
                        <log4j.debug>true</log4j.debug>
                        <net.sourceforge.cobertura.datafile>target/cobertura/cobertura.ser</net.sourceforge.cobertura.datafile>
                    </systemProperties>
                    <dependencies>
                        <!-- SLF4J -->
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-api</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>jcl-over-slf4j</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>jul-to-slf4j</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-log4j12</artifactId>
                        </dependency>
                        <!-- Log4j -->
                        <dependency>
                            <groupId>log4j</groupId>
                            <artifactId>log4j</artifactId>
                        </dependency>
                    </dependencies>
                </container>
                <deployables>
                    <deployable>
                        <groupId>org.apache.solr</groupId>
                        <artifactId>solr</artifactId>
                        <type>war</type>
                        <properties>
                            <context>/solr</context>
                        </properties>
                    </deployable>
                </deployables>
            </configuration>
        </plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...