Улучшено README.
This commit is contained in:
parent
b7fd0dcd05
commit
6d8d233640
74
README.md
74
README.md
@ -27,7 +27,9 @@
|
|||||||
Отформатировать все исходные тексты проекта в соответствии со стандартом Go
|
Отформатировать все исходные тексты проекта в соответствии со стандартом Go
|
||||||
можно командой:
|
можно командой:
|
||||||
|
|
||||||
go fmt ./...
|
```sh
|
||||||
|
go fmt ./...
|
||||||
|
```
|
||||||
|
|
||||||
В проекте используются следующие линтеры:
|
В проекте используются следующие линтеры:
|
||||||
|
|
||||||
@ -42,19 +44,33 @@
|
|||||||
Команда установки линтера:
|
Команда установки линтера:
|
||||||
`go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow@latest`.
|
`go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow@latest`.
|
||||||
|
|
||||||
Все линтеры проекта можно запустить командой:
|
Все перечисленные выше линтеры можно запустить командой:
|
||||||
|
|
||||||
make lint
|
```sh
|
||||||
|
make lint
|
||||||
|
```
|
||||||
|
|
||||||
|
Кроме того, в проекте сконфигурирован
|
||||||
|
[golangci-lint](https://github.com/golangci/golangci-lint).
|
||||||
|
Для его запуска можно воспользоваться командой:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make golangci-lint
|
||||||
|
```
|
||||||
|
|
||||||
## Компиляция
|
## Компиляция
|
||||||
|
|
||||||
Все зависимости устанавливаются в папку `vendor` командой:
|
Все зависимости устанавливаются в папку `vendor` командой:
|
||||||
|
|
||||||
make vendor
|
```sh
|
||||||
|
make vendor
|
||||||
|
```
|
||||||
|
|
||||||
Собрать исполняемый файл сервиса можно командой:
|
Собрать исполняемый файл сервиса можно командой:
|
||||||
|
|
||||||
make build
|
```sh
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
После успешного выполнения команды в папке `out/bin` в корне проекта появится
|
После успешного выполнения команды в папке `out/bin` в корне проекта появится
|
||||||
исполняемые бинарные файлы.
|
исполняемые бинарные файлы.
|
||||||
@ -69,39 +85,41 @@
|
|||||||
последнего тэга, наличия коммитов после него и текущего состояния репозитория
|
последнего тэга, наличия коммитов после него и текущего состояния репозитория
|
||||||
командой:
|
командой:
|
||||||
|
|
||||||
git describe --always --tags --dirty
|
```sh
|
||||||
|
git describe --always --tags --dirty
|
||||||
|
```
|
||||||
|
|
||||||
При этом если проект собирается из ветки выпуска вида `release/1.2.3`, то
|
При этом если проект собирается из ветки выпуска вида `release/1.2.3`, то
|
||||||
то версия принимает вид `v1.2.3RC` (что означает "Release Candidate").
|
то версия принимает вид `v1.2.3RC` (что означает "Release Candidate").
|
||||||
|
|
||||||
Для получения версии приложения необходимо запустить его с параметром `--version`:
|
Для получения версии приложения необходимо запустить его с параметром `--version`:
|
||||||
|
|
||||||
drawio-export --version
|
```sh
|
||||||
|
drawio-export --version
|
||||||
|
```
|
||||||
|
|
||||||
## Тестирование
|
## Тестирование
|
||||||
|
|
||||||
Статический анализ всех исходных текстов проекта можно выполнить командами:
|
|
||||||
|
|
||||||
go vet ./...
|
|
||||||
|
|
||||||
Модульные тесты проекта можно запустить командой:
|
Модульные тесты проекта можно запустить командой:
|
||||||
|
|
||||||
make test
|
```sh
|
||||||
|
make test
|
||||||
|
```
|
||||||
|
|
||||||
### Отчёт о тестировании
|
### Отчёт о тестировании
|
||||||
|
|
||||||
Отчёт о выполнении тестов можно получить, запустив в папке программы команду:
|
|
||||||
|
|
||||||
make test
|
|
||||||
|
|
||||||
Для получения отчёта о выполнении тестов в формате *JUnit XML* необходимо
|
Для получения отчёта о выполнении тестов в формате *JUnit XML* необходимо
|
||||||
установить инструмент:
|
установить инструмент:
|
||||||
|
|
||||||
go install github.com/jstemmer/go-junit-report@latest
|
```sh
|
||||||
|
go install github.com/jstemmer/go-junit-report@latest
|
||||||
|
```
|
||||||
|
|
||||||
Получить отчёт можно командой:
|
Получить отчёт можно командой:
|
||||||
|
|
||||||
EXPORT_RESULT=true make test
|
```sh
|
||||||
|
EXPORT_RESULT=true make test
|
||||||
|
```
|
||||||
|
|
||||||
После успешного выполнения команды появится файл `out/junit-report.xml`
|
После успешного выполнения команды появится файл `out/junit-report.xml`
|
||||||
с отчётом в формате [JUnit](https://junit.org).
|
с отчётом в формате [JUnit](https://junit.org).
|
||||||
@ -111,25 +129,33 @@
|
|||||||
Для получения отчётов о покрытии кода тестами необходимо установить следующие
|
Для получения отчётов о покрытии кода тестами необходимо установить следующие
|
||||||
инструменты:
|
инструменты:
|
||||||
|
|
||||||
go install github.com/axw/gocov/gocov@latest
|
```sh
|
||||||
go install github.com/matm/gocov-html/cmd/gocov-html@latest
|
go install github.com/axw/gocov/gocov@latest
|
||||||
go install github.com/AlekSi/gocov-xml@latest
|
go install github.com/matm/gocov-html/cmd/gocov-html@latest
|
||||||
|
go install github.com/AlekSi/gocov-xml@latest
|
||||||
|
```
|
||||||
|
|
||||||
Для получения отчёта о покрытии проекта тестами в консоли нужно выполнить
|
Для получения отчёта о покрытии проекта тестами в консоли нужно выполнить
|
||||||
команду:
|
команду:
|
||||||
|
|
||||||
make coverage
|
```sh
|
||||||
|
make coverage
|
||||||
|
```
|
||||||
|
|
||||||
Получить отчёт о покрытии кода тестами в формате *HTML* можно командой:
|
Получить отчёт о покрытии кода тестами в формате *HTML* можно командой:
|
||||||
|
|
||||||
EXPORT_RESULT=true make coverage
|
```sh
|
||||||
|
EXPORT_RESULT=true make coverage
|
||||||
|
```
|
||||||
|
|
||||||
После успешного выполнения этой команды файл `out/coverage.html` будет содержать
|
После успешного выполнения этой команды файл `out/coverage.html` будет содержать
|
||||||
отчёт о покрытии кода проекта модульными тестами в формате *HTML*.
|
отчёт о покрытии кода проекта модульными тестами в формате *HTML*.
|
||||||
|
|
||||||
Получить отчёт о покрытии кода тестами в формате *XML* можно командой:
|
Получить отчёт о покрытии кода тестами в формате *XML* можно командой:
|
||||||
|
|
||||||
EXPORT_RESULT=true COVERAGE_FORMAT=xml make coverage
|
```sh
|
||||||
|
EXPORT_RESULT=true COVERAGE_FORMAT=xml make coverage
|
||||||
|
```
|
||||||
|
|
||||||
После успешного выполнения этой команды файл `out/coverage.xml` будет содержать
|
После успешного выполнения этой команды файл `out/coverage.xml` будет содержать
|
||||||
отчёт о покрытии кода проекта модульными тестами в формате *XML*.
|
отчёт о покрытии кода проекта модульными тестами в формате *XML*.
|
||||||
|
Loading…
Reference in New Issue
Block a user