testing

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2026 License: MIT Imports: 1 Imported by: 0

README

testing

简介

testing 包提供了一组用于测试时输出日志的辅助函数。这个包封装了标准库 fmt 包的功能,并在输出内容前添加统一的日志前缀,使测试输出更加清晰和易于识别。

主要特性
  • 统一的日志输出格式,便于识别测试日志
  • 支持 PrintlnPrintf 两种输出方式
  • 自动添加换行符,保持输出格式整洁
  • 支持任意类型参数的输出
  • 与标准库 fmt 包完全兼容的格式化功能
设计理念

该包的设计遵循以下原则:

  • 简单性:提供简单直观的 API
  • 一致性:保持与标准库 fmt 包相似的使用方式
  • 可识别性:通过统一的日志前缀,使测试输出易于识别
  • 灵活性:支持多种输出格式和参数类型

安装

前置条件
  • Go 版本要求:Go 1.16 或更高版本
  • 依赖要求:无外部依赖
安装命令
go get -u github.com/fsyyft-go/kit/testing

快速开始

基础用法
package main

import "github.com/fsyyft-go/kit/testing"

func main() {
    // 使用 Println 输出简单信息
    testing.Println("开始测试")
    
    // 使用 Printf 输出格式化信息
    testing.Printf("测试进度:%d%%\n", 50)
}
配置选项

该包无需配置,直接使用即可。

详细指南

核心概念
  • logHeader:统一的日志前缀,用于标识测试输出
  • Println:支持多参数输出的日志函数
  • Printf:支持格式化输出的日志函数
常见用例
1. 输出简单测试信息
testing.Println("测试用例 1 开始执行")
testing.Println("输入参数:", 100, "期望结果:", "成功")
2. 输出格式化测试信息
testing.Printf("测试进度:%d%%\n", 75)
testing.Printf("用户 %s 的测试结果:%s\n", "张三", "通过")
最佳实践
  • 在测试开始时使用 Println 输出测试用例信息
  • 使用 Printf 输出需要格式化的详细信息
  • 保持日志信息的简洁性和可读性
  • 在关键测试步骤添加日志输出

API 文档

主要类型
const logHeader = "=-=       "
关键函数
Println

输出带有统一前缀的日志信息,并在末尾自动添加换行符。

func Println(a ...interface{})

示例:

testing.Println("测试信息")
testing.Println("值:", 100, "状态:", "成功")
Printf

输出带有统一前缀的格式化日志信息。

func Printf(format string, a ...interface{})

示例:

testing.Printf("当前进度:%d%%\n", 50)
testing.Printf("用户:%s,年龄:%d\n", "张三", 25)
错误处理

该包不涉及错误处理,所有函数都是安全的,不会返回错误。

性能指标

操作 性能指标 说明
Println O(n) n 为参数数量
Printf O(n) n 为参数数量

测试覆盖率

覆盖率
testing 100%

调试指南

日志级别

该包不提供日志级别功能,所有输出都使用统一的格式。

常见问题排查
输出格式不符合预期

检查是否正确使用了格式化字符串,确保与 fmt.Printf 的用法一致。

相关文档

贡献指南

我们欢迎任何形式的贡献,包括但不限于:

  • 报告问题
  • 提交功能建议
  • 提交代码改进
  • 完善文档

请参考我们的贡献指南了解详细信息。

许可证

本项目采用 MIT 许可证。查看 LICENSE 文件了解更多信息。

Documentation

Overview

Package testing 提供用于在测试中写入带统一前缀日志的辅助函数。

本包封装 fmt.Println 和 fmt.Printf 的标准输出行为,在每次调用的正文前 添加固定日志前缀,便于从测试输出中识别辅助日志。输出格式、换行规则和 格式化诊断遵循 fmt 包语义;本包不接管 *testing.T 日志,也不保证并发调用时 单条日志记录以原子方式写入。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Printf

func Printf(format string, a ...interface{})

Printf 将 format 和 a 按 fmt.Printf 语义写入标准输出,并在内容前添加统一日志前缀。

每次调用先写入 logHeader,再由 fmt.Printf 写入格式化结果。该函数不提供额外同步; 并发调用时前缀和正文可能与其他输出交错,换行完全由 format 决定。

参数:

  • format: 格式字符串,支持 fmt.Printf 的格式化指令;空字符串时仅输出前缀。
  • a: 用于 format 的值列表;数量或类型不匹配时保留 fmt.Printf 的诊断输出。

func Println

func Println(a ...interface{})

Println 将 a 按 fmt.Println 语义写入标准输出,并在内容前添加统一日志前缀。

每次调用先写入 logHeader,再由 fmt.Println 写入 a 和换行。该函数不提供额外同步; 并发调用时前缀和正文可能与其他输出交错。

参数:

  • a: 要输出的值列表;未传入时仅输出前缀和换行,多个值按 fmt.Println 规则以空格分隔。

Types

This section is empty.

Jump to

Keyboard shortcuts

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