1. 测试
用于测试代码库和生成测试数据的库。
测试框架
- apitest - 简单和可扩展的行为测试库,用于基于REST的服务或HTTP处理程序,支持模拟外部http调用和序列图的呈现。
- assert - 与本地本机go测试一起使用的基本断言库,带有用于自定义断言的构建块。
- badio - Go testing/iotest包的扩展。
- baloo - 表达性和通用性的端到端HTTP API测试变得容易。
- biff - 分叉测试框架,与BDD兼容。
- charlatan - 生成用于测试的虚假接口实现的工具。
- commander - 用于在Windows,Linux和osx上测试cli应用程序的工具。
- cupaloy - 适用于您的测试框架的简单快照测试插件。
- dbcleaner - 受database_cleanerRuby 启发,清理数据库以进行测试。
- dsunit - SQL,NoSQL,结构化文件的数据存储区测试。
- embedded-postgres - Postgres-作为另一个Go应用程序或测试的一部分,在Linux,OSX或Windows上本地运行真实的Postgres数据库。
- endly - 声明式端到端功能测试。
- flute - HTTP客户端测试框架。
- frisby - REST API测试框架。
- ginkgo - Go的BDD测试框架。
- go-carpet - 用于在终端中查看测试覆盖率的工具。
- go-cmp - 用于比较测试中Go值的软件包。
- go-mutesting - Go源代码的变异测试。
- go-testdeep - 极其灵活的golang深度比较,扩展了go测试包。
- go-vcr - 记录并重放您的HTTP交互,以进行快速,确定性和准确的测试。
- goblin - 摩卡(Mocha)像Go的测试框架。
- gocheck - 比getest更高级的测试框架。
- GoConvey - 具有Web UI和实时重载的BDD样式的框架。
- gocrest - Go断言的可组合的类似于hamcrest的匹配器。
- godog - Cucumber或Behat像Go的BDD框架。
- gofight - Golang路由器框架的API处理程序测试。
- gogiven - Go的类似YATSPEC的BDD测试框架。
- gomatch - 创建用于针对模式测试JSON的库。
- gomega - Rspec,例如匹配器/断言库。
- GoSpec - 用于Go编程语言的BDD样式测试框架。
- gospecify - 这提供了BDD语法来测试您的Go代码。使用过rspec之类的库的任何人都应该熟悉。
- gosuite - testing利用Go1.7的子测试,使带有设置/拆卸功能的轻量级测试套件成为可能。
- gotest.tools - 一组软件包的集合,以增强go测试软件包并支持常见模式。
- Hamcrest - 用于声明式Matcher对象的流利框架,将其应用于输入值时,会产生自描述结果。
- httpexpect - 简洁,声明性且易于使用的端到端HTTP和REST API测试。
- jsonassert - 用于验证JSON有效负载已正确序列化的软件包。
- restit - 一个微框架,可帮助编写RESTful API集成测试。
- schema - 在请求和响应中使用JSON模式方便快捷则表达式匹配。
- testcase - 行为驱动开发的惯用测试框架。
- testfixtures - Rails的测试夹具,用于测试数据库应用程序。
- Testify - 对标准go测试包的神圣扩展。
- testmd - 将markdown代码片段转换为可测试的go代码。
- testsql - 在测试之前从SQL文件生成测试数据,并在完成后将其清除。
- trial - 快速简单的可扩展断言,无需引入太多样板。
- Tt - 简单而丰富多彩的测试工具。
- wstest - Websocket客户端,用于对websocket http.Handler进行单元测试。
Mock
- counterfeiter -生成独立模拟对象的工具。
- go-sqlmock - 模拟SQL驱动程序,用于测试数据库交互。
- go-txdb - 基于单事务的数据库驱动程序,主要用于测试目的。
- gock - 多种HTTP 模拟变得容易。
- gomock - Go编程语言的模拟框架。
- govcr - 用于Golang的HTTP模拟:记录和重放HTTP交互以进行脱机测试。
- hoverfly - HTTP(S)代理,用于通过可扩展的中间件和易于使用的CLI记录和模拟REST / SOAP API。
- httpmock - 轻松模拟来自外部资源的HTTP响应。
- minimock - Go接口的模拟生成器。
- mockhttp - Go http.ResponseWriter的模拟对象。
Fuzzing and delta-debugging/reducing/shrinking.
Selenium and browser control tools.
Fail injection
- failpoint - failpoint -的实现failpoints为Golang。