Awesome Go

flute

CategoryTesting
SubcategoryTesting Frameworks
Stars0

HTTP client testing framework

About flute

flute

Mentioned in Awesome Go DeepWiki GoDoc Go Report Card License

Golang HTTP client testing framework

Presentation

https://speakerdeck.com/szksh/flute-golang-http-client-testing-framework

Overview

flute is the Golang HTTP client testing framework. The goal is

  • Test request parameters such as the request path, headers and body
  • Mock the HTTP server

flute.Transport implements http.RoundTripper.

flute uses testify's assert internally. You can test the http request parameters with assert.

For example, the following test failure message means the request header is unexpected value.

=== RUN   TestClient_CreateUser
--- FAIL: TestClient_CreateUser (0.00s)
    tester.go:168:
                Error Trace:    tester.go:168
                                                        tester.go:32
                                                        transport.go:25
                                                        client.go:250
                                                        client.go:174
                                                        client.go:641
                                                        client.go:509
                                                        create_user.go:45
                                                        create_user_test.go:56
                Error:          Not equal:
                                expected: []string{"token XXXXX"}
                                actual  : []string{"token "}

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1,3 +1,3 @@
                                 ([]string) (len=1) {
                                - (string) (len=11) "token XXXXX"
                                + (string) (len=6) "token "
                                 }
                Test:           TestClient_CreateUser
                Messages:       the request header "Authorization" should match
                                service: http://example.com
                                request name: create a user

Please see the example.

Example

Please see examples.

License

MIT

Frequently Asked Questions

What is flute?

flute is a Testing library for the Go programming language. HTTP client testing framework

How do I install flute?

Install flute with the Go module system using `go get suzuki-shunsuke/flute`. Check the repository for the current installation instructions.

What category does flute belong to?

flute is listed under Testing, specifically Testing Frameworks.

← Back to Testing Frameworks