flute
HTTP client testing framework
About flute
flute
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
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.