Пользователи Галлио, какие Преимущества и Недостатки Вы испытали использование этого Инструмента?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

12
задан Troy DeMonbreun 16 October 2008 в 15:32
поделиться

7 ответов

Мы используем Gallio/MbUnit в течение года теперь. Мы довольно довольны им, парни Галлио продолжают представлять прохладные новые возможности, и разработка активна. Если Вы решаете использовать его, вот некоторые подсказки/примечания:

  1. Купите себя лицензия TestDriven.NET - я думаю, что это - необходимость для модульных тестов Галлио, так как исполнитель тестов Resharper не знает, как запустить определенные тесты +, Галлио имеет один из своих исполнителей тестов, предназначенных для TD.NET.
  2. Мы используем Галлио. Повторите бегуна командной строки для сценариев/сборок CI. Галлио Icarus - бегун GUI (по крайней мере, текущая версия) довольно нестабилен и не очень удобен для пользователя.
  3. Если Вы хотите использовать последние функции Галлио (как параллельные тесты и т.д.), готовы должными быть использовать последние ежедневные сборки Галлио. Если это - проблема, придерживайтесь "официальных" сборок, но у нас не было настоящих проблем с ежедневными версиями сборки.
  4. Я рекомендую добавить основной Галлио.DLLs и.EXEs к Вашему управлению исходным кодом. И на самом деле сошлитесь на них в своих проектах, не от GAC. Таким образом, Вы избежите любых "работ над моей машиной" проблемы, если у кого-то в Вашей команде будет другая версия Галлио, установленного на его машине.
10
ответ дан 2 December 2019 в 06:28
поделиться

Когда мы оценили Галлио, мы испытали проблемы устойчивости с крупными проектами. Наши меньшие проекты работали красиво, как бы то ни было. Большое понятие... Я думаю, что это генерирует большой шум, после того как это немного более усовершенствовано.

Я мог бы хотеть добавить, что поддержка Resharper отсутствовала (или поврежденная) некоторое время, но я услышал, что она вернулась.

3
ответ дан 2 December 2019 в 06:28
поделиться

Последний выпуск Gallio (3.0.6) решает многие проблемы стабильности, упомянутые в этих постах. В частности, Icarus теперь намного более стабилен и имеет возможность подключаться к встроенному отладчику, поэтому он может быть даже быстрее, чем Resharper, который перекомпилирует код перед каждым запуском теста.

2
ответ дан 2 December 2019 в 06:28
поделиться

Я оценивал Галлио, и это - действительно большое понятие. Теперь я не должен говорить моим разработчикам, какую платформу поблочного тестирования они должны использовать, потому что она имеет интеграцию со всеми главными, о которых я знаю. Они могут использовать, которым когда-либо они являются самыми довольными, и я добираюсь, протестированная единица кодируют.

Интеграция Resharper хороша также. Я могу выполнить все модульные тесты с Resharper, не имея необходимость выскакивать к командной строке для выполнения их.

Это должно определенно превратить поблочное тестирование представления в магазины, намного легче, по-моему. Я соглашаюсь с @David, оборотная сторона - то, что он еще не выпущен.

1
ответ дан 2 December 2019 в 06:28
поделиться

На передней стороне преимуществ интеграция со всем довольно хороша :) Серьезно, я - огромный поклонник экспериментальной интеграции с Системой Команды Visual Studio (снимки экрана здесь). Я думаю, что действительно понижает панель для плохо знакомых с поблочным тестированием.

Единственный недостаток с моей точки зрения до сих пор является тем, что это еще не выпущено.

1
ответ дан 2 December 2019 в 06:28
поделиться

Это ужасно нестабильно, я использовал его месяца 3-4 назад, он был ужасно нестабильным и медленным.

Я только что попробовал его, и он вылетает, когда вы нажимаете «Сохранить», затем он никогда не открывается снова, если вы не пойдете и не очистите «Локальные настройки», я полагаю, он все еще ужасно нестабилен.

Я бы хотел, чтобы они перестанет добавлять новые функции и вместо этого исправит эти довольно очевидные ошибки.

PS Project имеет 1000 ~ модульных тестов и использует nUnit (возможно, это просто мой nUnit и Gallio не очень хорошо работают вместе)

Я действительно хочу использовать это и у меня 3.1 - 313, я не мог Даже сохранить проект без сбоя!

В конце концов, преимущества плохих вещей Здесь:

  • Отличная поддержка различных вариантов, я использовал ее для nUnit и mbUnit, это действительно хорошо. Он даже очень хорошо поддерживает RowTest в nUnit.

  • GUI довольно крутой, чистый

  • Есть отличные функции, такие как установка рабочего каталога
  • Отчетность и интеграция
2
ответ дан 2 December 2019 в 06:28
поделиться

Я тоже пробовал Gallio, и он работает намного медленнее, чем TDD.Net или собственный инструмент запуска тестов NUnit GUI. Он даже медленнее, чем бегун Resharper!

Я должен добавить, что здесь я говорю о запуске тестов NUnit.

Я не помню точных цифр, но на те же тесты, которые NUnit завершил за 30 секунд (работа в одном потоке, одном процессе, нескольких доменах), потребовалось около 3 минут.

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


Дополнительная информация:

  • В моем решении у меня есть тесты NUnit, и недавно начал добавлять спецификации MSpec . У меня открыт графический интерфейс NUnit для автоматического перезапуска моих старых тестов (все новые тесты написаны как MSpecs) после того, как я перекомпилирую и изменят тестовые библиотеки DLL.

  • Я использую TDD.Net для выполнения своих спецификаций Mspec.

  • Это позволяет мне уже продолжить работу после того, как мои спецификации будут завершены, в то время как бегун NUnit Gui все еще завершает свою работу.

5
ответ дан 2 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

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