You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
こんにちわ、ワカルのアドベントカレンダー2日目を担当する包です。 最近はGoばかり書いているので、Goネタです。 外部への http アクセスをする時に構造を理解しておくと便利な、http.RoundTripper について書きます。 http.RoundTripper とは Go で、外部にhttpアクセスするときには、 net/http パッケージにある、 http.Client を使います。 また、いろいろなAPIのクライアントライブラリの中でも殆どの場合 http.Client が使われていて、定義は以下のようになっています。(一部コメント省略) type Client struct { // Transport specifies the mechanism by which individual // HTTP requests are made. // If nil, Def
I've investegated a way to mock HTTP request and response when writing a code to access to a HTTP API with http.Client. Finally, I found that I can do it by just implementing RoundTrip method of http.RoundTripper. Here is an example of mocking and proxying HTTP request and response. Running with go run main.go -mock mock, you can get mocked result and with go run main.go -mock proxy, you can get p
Go’s strong type system includes a concept called interface. In Go, an interface is a collection of function signatures. Any type that implements all of those functions is implicitly able to be used as an interface type. For example, Go’s empty interface, interface{}, is similar to Ruby’s BasicObject or Java’s Object, from which all classes inherit in these languages. More concretely, Ruby’s Compa
この記事は株式会社ネクスト(Lifull) Advent Calendar 2016の2日目の記事です。 みなさんはじめまして、ネクストのchissoです。 はじめてQiitaに投稿するのでドキドキしています。 そんなことはさておき、この記事では、Golangで自動テストしやすいコードを書く方法について、私なりに気づいたことをまとめます。 想定読者 普段よくRSpecを書いている Golang初心者 Interfaceってなに? 目指すところ 「メソッド単位でテストコードを実行できる状態にする」 これだけです。 私は普段Rubyを書くことが多く、RSpecを使ってメソッド単位でユニットテストを作成しています。 ですが、Rubyと同じ感覚でコードを書いて、RSpecと同じノリでGolangのテストを書こうとしてハマりました。 (静的型付けの言語・Interfaceに疎く、そもそもコードがダメ
class TwitterClient { public function tweet($message) { return true; } } $hoge = new TwitterClient(); $hoge->tweet('大心なう'); // trueが返る class ClientContainerTest extends PHPUnit_Framework_TestCase { public function test_モックを書いてみる() { $hoge = $this->getMock('TwitterClient', array('tweet')); $hoge->expects($this->any()) ->method('tweet') ->will($this->returnValue(true)); $hoge->tweet('大心なう'); // true
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く