мерзавец difftool, открытый все различные файлы сразу, не в сериале

Да, можно использовать junit для интеграционных тестов, но он зависит от типа интеграционного теста, в котором Вы нуждаетесь.

Тестирование сервлета:

  • устанавливают контекст сервлета, и конфигурация
  • делают тесты с помощью ложных запросов сервлета (Spring имеет поддержку этого, но можно также использовать EasyMock или собственные насмешки)

Тестирование пружинного приложения:

  • использование AbstractDependencyInjectionSpringContextTests для установки контекста
  • тестируют проводные бобы
  • существуют также подклассы AbstractDependencyInjectionSpringContextTests, поддерживающего обработку транзакции при тестировании с базой данных.

, Но чистый Junit имеет его предел. Тестирование пользовательских интерфейсов является типичным случаем. Можно использовать селен для веб-приложений, soapui для веб-сервисов или других соответствующих инструментов.

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

229
задан S.L. Barth - Reinstate Monica 23 July 2012 в 00:44
поделиться

7 ответов

Вот на чем я остановился ...

Скопируйте следующий код в файл с именем 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 открывается один экран с каждым файлом на отдельной вкладке.

60
ответ дан 23 November 2019 в 03:44
поделиться

Я нашел этот метод (GitDiff.bat и GitDiff.rb), который копирует файлы в старые / новые временные каталоги, а затем сравнивает их с папками.

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

Изменить: аналогичный метод здесь в ответ на мой вопрос о списке рассылки git.

3
ответ дан 23 November 2019 в 03:44
поделиться

Здесь я заметил , что у Araxis Merge есть '-nowait' Параметр команды:

-nowait Предотвращает ожидание завершения сравнения для сравнения

Может быть, это возвращает код немедленного выхода и сработает, кто-нибудь сталкивался с этим? Не удается найти аналогичный вариант для BeyondCompare ...

1
ответ дан 23 November 2019 в 03:44
поделиться

Если все, что вам нужно сделать, это открыть все файлы, которые в настоящее время изменены, попробуйте что-нибудь вроде:

vi $(git status | sed -n '/.*modified: */s///p')

Если вы делаете коммиты «сложных наборов изменений», вы можете захотеть пересмотрите свой рабочий процесс. Одна из действительно хороших особенностей git заключается в том, что он позволяет разработчику легко свести сложные наборы изменений к серии простых исправлений. Вместо того, чтобы пытаться редактировать все файлы, которые в настоящее время изменяются, вы можете изучить

git add --patch
, который позволит вам выборочно размещать блоки.
1
ответ дан 23 November 2019 в 03:44
поделиться

Вы можете использовать gitk и одновременно увидеть все различия

-2
ответ дан 23 November 2019 в 03:44
поделиться

Начиная с 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.

204
ответ дан 23 November 2019 в 03:44
поделиться

Я написал сценарий PowerShell, который дублирует два рабочих дерева и сравнивает их с DiffMerge. Итак, вы можете сделать:

GitNdiff master~3 .

Например, сравнить основную ветвь трех проверок назад с текущим рабочим деревом.

Он блестящий и новый и, вероятно, полон ошибок. Одним из недостатков является то, что файлы в вашем рабочем дереве, которые еще не были добавлены, копируются в оба рабочих дерева. Это также может быть медленным.

http://github.com/fschwiet/GitNdiff

1
ответ дан 23 November 2019 в 03:44
поделиться
Другие вопросы по тегам:

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