Мы любим вклады в наш проект. Чтобы начать вносить свой вклад, вам может потребоваться:
up-for-grabs
После того, как вы узнаете, как создавать pull requests и имеете задачу для выполнения, просто оставьте комментарий, что вы будете работать над ней. Если вы не сможете завершить задачу, пожалуйста, оставьте ещё один комментарий, чтобы другие могли взяться за неё.
Открытые вопросы также приветствуются, а неудачные тесты особенно ценятся.
docs
.
Ознакомьтесь с файлом readme документации для получения руководства по улучшению документации и включите обновления документации с вашим pull request.См. как это работает в документации GitVersion## Написание тестов
Мы сделали написание тестов в GitVersion очень простым. Большинство тестов, интересующих вас, находятся в GitVersionCore.Tests\IntegrationTests
.
Для каждого типа ветки существует класс сценария. Например, MasterScenarios
, FeatureBranchScenarios
и т.д.
Найдите место, где логически должна располагаться ваша задача. Или создайте новый класс сценария, если он не подходит ни к одному конкретному месту.
Мы используем NUnit, так что просто создайте описательный метод теста и пометьте его атрибутом [Test]
У нас есть несколько фикстур для различных сценариев.
EmptyRepositoryFixture
— предоставляет вам пустой git-репозиторий для начала;RemoteRepositoryFixture
— локальный репозиторий, отслеживающий тестовый удалённый репозиторий. Удалённый репозиторий доступен через свойство Repository
, локальный через LocalRepository
;BaseGitFlowRepositoryFixture
— репозиторий, настроенный для GitFlow (имеет ветку develop
, которая уже проверена и готова к работе). Вы можете использовать фикстуру просто используя
её. Например,using (var fixture = new EmptyRepositoryFixture(new Config()))
{
}
Если вы используете нестандартную конфигурацию, просто измените класс Config
перед созданием фикстуры.
IRepository
, чтобы сделать тестирование на уровне потока простым и не беспокоиться о создании/фиксации файлов.Пример теста выглядит следующим образом:
fixture.Repository.MakeATaggedCommit("1.0.0");
fixture.Repository.CreateBranch("feature-test");
fixture.Repository.Checkout("feature-test");
fixture.Repository.MakeACommit();
fixture.Repository.MakeCommits(4);
fixture.AssertFullSemver("1.0.1-test.1+5");
Последняя строка является наиболее важной. AssertFullSemver
запустит GitVersion и проверит, что полная версия SemVer, которую он рассчитывает, совпадает с вашими ожиданиями.
Лучше всего включите исправление, но проваленный тест — отличное начало.
releaseArtifacts
в репозитории GitVersion, затем выполните:docker build . --build-arg GitVersionZip=GitVersion_<VERSION>.zip --tag gittools/gitversion
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )