Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Package test

Пакет test предоставляет обёртку над testing.T, а также автоматическую инициализацию конфигурации и логгера для использования в юнит- и интеграционных тестах.

Types

Test

Структура Test служит основным контейнером для всех зависимостей, часто используемых в тестах: конфигурация, логгер, контекст testing.T, а также вспомогательные утверждения require.Assertions.

Fields:

id string

Случайно сгенерированный идентификатор теста (hex-строка длиной 8 символов).

cfg *config.Config

Конфигурация, созданная с помощью config.New().

logger log.Logger

Логгер, инициализированный в режиме разработки и с уровнем Debug.

t *testing.T

Ссылка на контекст текущего теста.

assertions *require.Assertions

Обёртка require.New(t) для удобства утверждений.

Methods:

New(t *testing.T) (*Test, *require.Assertions)

Создаёт и возвращает структуру Test, а также объект require.Assertions.

Автоматически выполняет:

  • инициализацию конфигурации и логгера,
  • генерацию короткого идентификатора теста,
  • создание обёртки require.New(t).

(t *Test) Config() *config.Config

Возвращает объект конфигурации, связанный с текущим тестом.

(t *Test) Logger() log.Logger

Возвращает логгер, связанный с текущим тестом.

(t *Test) Assert() *require.Assertions

Возвращает объект require.Assertions для выполнения проверок внутри теста.

(t *Test) Id() string

Возвращает идентификатор текущего теста (4 байта в hex-представлении).

(t *Test) T() *testing.T

Возвращает оригинальный объект *testing.T, переданный в New().

Usage

Example usage in test

package mypkg_test

import (
	"testing"
	"github.com/txix-open/isp-kit/test"
)

func TestSomething(t *testing.T) {
	testCtx, assert := test.New(t)

	cfg := testCtx.Config()
	logger := testCtx.Logger()
	id := testCtx.Id()

	logger.Info("Running test", log.String("id", id))
	assert.NotNil(cfg)
}