2017-02-07 4 views
3

Golangにはユニットテストの実行を可能にするtesting packageがあります。これはユニットテストのためにGolangの関数を内部的に呼び出すためにはうまくいくようですが、それに合わせてAPI testingに適合させようとしていた人もいるようです。GolangでのAPIのテスト

Node.js 'Mocha(チャイアサーションライブラリ)のような自動化されたテストフレームワークの大きな柔軟性を考えれば、Golangのテストパッケージと何か別のテストを使うのは意味がありますか?

ありがとうございました。

+0

はGoLangのSTDLIBテストについて読んでください:https://golang.org/pkg/net/http/httptest/ – eduncan911

答えて

2

@ eduncan911によるコメントに同意します。具体的には、あなたのハンドラは適切な要求に加えて、パラメータとして

http.ResponseWriter 

を受け入れることを確認することによって、心の中でテストをあなたのAPIを設計することができます。

req, err := http.NewRequest("GET", "http://example.com", nil) 

だけでなく、新しいhttptestレコーダー

:その時点であなたは新しい要求を宣言するために設定されます

recorder := httptest.NewRecorder() 

してからハンドラに新しいテスト要求を発行します。

yourHandler(recorder, req) 

です。最後に/ etcエラーをチェックできるようになりました。レコーダ:

if recorder.Code != 200 { 
    //do something 
} 
+0

ニコ - あなたはGolangが内蔵されていることのテストパッケージ言っているように聞こえます十分な/堅牢で、すべてのタイプのテストには十分に簡単で、他のソリューションを見ても役に立たないのですか? – Spikey

+0

はい - APIテストに関してはうまくいきました。 – Niko

関連する問題