Да, можно использовать junit для интеграционных тестов, но он зависит от типа интеграционного теста, в котором Вы нуждаетесь.
Тестирование сервлета:
Тестирование пружинного приложения:
, Но чистый Junit имеет его предел. Тестирование пользовательских интерфейсов является типичным случаем. Можно использовать селен для веб-приложений, soapui для веб-сервисов или других соответствующих инструментов.
, Но независимо от того, что Вы используете, должно быть возможно интегрировать его в Вашей сборке continious (круиз-контроль, город команды или безотносительно).
Вот на чем я остановился ...
Скопируйте следующий код в файл с именем git-diffall
(без расширения):
#!/bin/sh
git diff --name-only "$@" | while read filename; do
git difftool "$@" --no-prompt "$filename" &
done
Поместите файл в папка cmd
в каталоге установки git (например, C: \ Program Files (x86) \ Git \ cmd
)
И используйте, как и git diff
:
git diffall
git diffall HEAD
git diffall --cached
git diffall rev1..rev2
etc...
Примечания: Ключевым моментом является параметр & , который указывает внешней команде diff запускаться в фоновой задаче, чтобы файлы обрабатывались немедленно. В случае BeyondCompare открывается один экран с каждым файлом на отдельной вкладке.
Я нашел этот метод (GitDiff.bat и GitDiff.rb), который копирует файлы в старые / новые временные каталоги, а затем сравнивает их с папками.
Но я бы предпочел просматривать рабочие файлы напрямую (из рабочего каталога), поскольку в BeyondCompare есть удобная функция, позволяющая редактировать файл из окна сравнения, что отлично подходит для быстрой очистки.
Изменить: аналогичный метод здесь в ответ на мой вопрос о списке рассылки git.
Здесь я заметил , что у Araxis Merge есть '-nowait' Параметр команды:
-nowait Предотвращает ожидание завершения сравнения для сравнения
Может быть, это возвращает код немедленного выхода и сработает, кто-нибудь сталкивался с этим? Не удается найти аналогичный вариант для BeyondCompare ...
Если все, что вам нужно сделать, это открыть все файлы, которые в настоящее время изменены, попробуйте что-нибудь вроде:
vi $(git status | sed -n '/.*modified: */s///p')
Если вы делаете коммиты «сложных наборов изменений», вы можете захотеть пересмотрите свой рабочий процесс. Одна из действительно хороших особенностей git заключается в том, что он позволяет разработчику легко свести сложные наборы изменений к серии простых исправлений. Вместо того, чтобы пытаться редактировать все файлы, которые в настоящее время изменяются, вы можете изучить
git add --patch, который позволит вам выборочно размещать блоки.
Вы можете использовать gitk и одновременно увидеть все различия
Начиная с git
v1.7.11, вы можете использовать git difftool --dir-diff
для выполнения различия каталогов.
Эта функция хорошо работает, например, с Meld 3.14.2 и позволяет просматривать все измененные файлы:
git difftool --dir-diff --tool=meld HEAD~ HEAD
Это удобная функция Bash:
git-diff-meld() (
git difftool --dir-diff --tool=meld "${1:-HEAD~}" "${2:-HEAD}"
)
Следующий ответ применим к git
установкам старше версии 1.7.11.
Этот же вопрос был задан на git mail list.
Я создал сценарий оболочки, основанный на этом сообщении, который выполняет различие каталогов между произвольными коммитами.
Начиная с git v1.7.10, скрипт git-diffall
включен в contrib
стандартной установки git.
Для версий до v1.7.10 можно установить из проекта git-diffall
на GitHub.
Вот описание проекта:
Скрипт git-diffall предоставляет механизм различий на основе каталогов для git. Скрипт полагается на diff.tool для того, чтобы определяет, какая программа просмотра различий будет использоваться.
Этот скрипт совместим со всеми формами, используемыми для указания диапазона ревизий для сравнения:
1)
git diffall
: показывает разницу между рабочим деревом и поэтапными изменениями
2)git diffall --cached [
: показывает разницу между поэтапными изменениями и] HEAD
(или другим именованным коммитом)
3)git diffall
: показывает разницу между рабочим деревом и именованным коммитом
4)git diffall
: показать разницу между двумя именованными коммитами
5)git diffall
: то же, что и выше..
6)git diffall
: показать изменения в ветви, содержащей и до второй, начиная с общего предка обеих...
Примечание: все формы принимают необязательный путь ограничитель
[--] [<путь>]
Этот сценарий основан на примере предоставленного Томасом Растом в Git list.
Я написал сценарий PowerShell, который дублирует два рабочих дерева и сравнивает их с DiffMerge. Итак, вы можете сделать:
GitNdiff master~3 .
Например, сравнить основную ветвь трех проверок назад с текущим рабочим деревом.
Он блестящий и новый и, вероятно, полон ошибок. Одним из недостатков является то, что файлы в вашем рабочем дереве, которые еще не были добавлены, копируются в оба рабочих дерева. Это также может быть медленным.