Help us shape the future of Go! Take the 2026 Go Developer Survey

test

package
v1.64.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2026 License: MIT Imports: 6 Imported by: 0

README

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)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Test

type Test struct {
	// contains filtered or unexported fields
}

func New

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

func (*Test) Assert

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

func (*Test) Config

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

func (*Test) Id

func (t *Test) Id() string

func (*Test) Logger

func (t *Test) Logger() log.Logger

nolint:ireturn

func (*Test) T

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL