私は私のテストケースでモックを使用。私は手動でテストし、どのような反応があるべきかを考え、ルビーoAuthの宝石を覆した。ここで成功したつぶやき用(Shouldaを使用して)一つのテストケースは次のとおりです。
context 'cork/tweet' do
setup do
response = Net::HTTPResponse.new("1.1", 200, "")
Net::HTTPResponse.any_instance.stubs(:body).returns JSON_RESPONSE
OAuth::AccessToken.any_instance.stubs(:post).returns(response)
post :create, :cork_id => @cork.id, :message=>MESSAGE
end
should_respond_with :redirect
should_change('Tweet.count' , :by => 1) {Tweet.count}
.. and so on
JSON_RESPONSEは、私は私の手動テストから収集された答えは - 私はlibに/のOAuth /トークン/ access_token.rbでのprintfを置く:44:中レスポンスを捕捉するための `post '。
そうでなければ、テストすることはほとんど不可能だと指摘していますが、TwitterはAPIからのアプリケーションの認証を解除する方法がなく、既にアプリケーションを承認していれば別の方法で動作します。
出典
2010-09-07 13:40:03
Rob
ええ、秘密のソースは、TwitterのバックエンドをモックにFakeWebを使用しています。素敵な記事。 – Rob