UBUNTU 16.0.4 (07.12.2016)
установить драйверы PHP-MONGODB: Командующие: - sudo pecl install mongodb -> résultat: Процесс сборки успешно завершен Установка '/ usr / lib / php / 20151012 /mongodb.so 'install ok: channel: //pecl.php.net/mongodb-1.2.0 параметр конфигурации «php_ini» не установлен в расположение php.ini. Вы должны добавить «extension = mongodb.so» в php.ini
-> la librairie se trouve dans "/usr/lib/php/20151012/mongodb.so"
- sudo systemctl restart apache2.service
https://secure.php.net/manual/en/mongodb.installation.pecl.php
- create 2 new files called "30-mongodb.ini" in both path to add the extension to your server:
-/etc/php/7.0/fpm/conf.d/30-mongodb.ini
-/etc/php/7.0/cli/conf.d/30-mongodb.ini
Commandes :
sudo nano /etc/php/7.0/fpm/conf.d/30-mongodb.ini
-> add "extension=mongodb.so"
sudo nano /etc/php/7.0/cli/conf.d/30-mongodb.ini
-> add "extension=mongodb.so"
- Test if the mongodb extension is running in your server :
Commandes :
php --ini
установить DoctrineMongoDBBundle: http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html , http: //www.doctrine -project.org/2016/06/09/odm-1-1-0-and-1-0-6.html,
Commandes :
- cd
- cd my_project_name
- ls -a composer*
-> résultat : composer.json composer.lock
- sudo nano composer.json
- Add to the composer.json in "require" array
"doctrine/mongodb-odm": "^1.0",
"doctrine/mongodb-odm-bundle": "^3.0"
- Add to the composer.json in "require" array
"alcaeus/mongo-php-adapter": "^1.0",
"ext-mongo": "*"
- Add a new array :
"provide":
{
"ext-mongo": "1.6.12"
}
- Move
sudo cp -i /usr/lib/php/20151012/mongodb.so /etc/php/7.0/cli
Чтобы дать решение, которое мне нужно на не менее 10 репутации для публикации ...
jUnit не может сделать такой вещи - хотя TestNG действительно имеет @BeforeSuite
и @AfterSuite
аннотации. Обычно, Вы заставляете свою систему сборки делать это. В знатоке существуют фазы "прединтеграционного теста" и "постинтеграционного теста". У МУРАВЬЯ хорошо Вы просто добавляете шаги к задаче.
Вашим вопросом является в значительной степени дубликат Прежде и После рычага выполнения Комплекта в jUnit 4.x, таким образом, я смотрел бы на предложения там.
Одна опция состоит в том, чтобы использовать что-то как Муравей Apache для запуска комплекта модульного теста. Можно тогда поместить целевой вызов прежде и после цели junit, чтобы запустить и остановить веб-сервис:
<target name="start.webservice"><!-- starts the webservice... --></target>
<target name="stop.webservice"><!-- stops the webservice... --></target>
<target name="unit.test"><!-- just runs the tests... --></target>
<target name="run.test.suite"
depends="start.webservice, unit.test, stop.webservice"/>
Вы тогда выполняете свой комплект с помощью муравья (или предпочтительный инструмент интеграции). Большинство IDE имеет поддержку Муравья, и она делает намного легче переместить Ваши тесты в непрерывную среду интеграции (многие из которых используют целевые объекты Ant для определения их собственных тестов).
Как в стороне, это - плохая идея иметь модульные тесты, на самом деле называя внешние ресурсы как веб-сервисы, базы данных, и т.д.
, Модульные тесты должны быть супербыстрыми для выполнения, и задержка 'нескольких минут' для каждого выполнения комплекта будет означать, что это не будет выполнено так, как это должно.
Мой совет:
Взгляд на насмешку внешних зависимостей в модульных тестах с чем-то как EasyMock ( http://www.easymock.org/ ).
Сборка отдельный комплект интеграционных тестов с чем-то как Fitnesse ( http://fitnesse.org/ ) или решение собственной разработки, которое работает против тестовой среды и которое является постоянно.