Улучшено README.
All checks were successful
build / build_windows (push) Successful in 26s
build / build (push) Successful in 1m11s

This commit is contained in:
Алексей Бадяев 2024-10-18 15:38:27 +07:00
parent b7fd0dcd05
commit 6d8d233640
Signed by: alexey
GPG Key ID: 686FBC1363E4AFAE

View File

@ -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*.