テストケースでモックを使用しました。私は手動でテストし、応答がどうあるべきかを理解し、ruby oAuth gem をオーバーライドしました。以下は、成功したツイートのテスト ケース (Shoulda を使用) の 1 つです。
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 は、手動テストから収集した回答です。応答をキャプチャするために、printf を lib/oauth/tokens/access_token.rb:44:in `post' に配置しました。
それ以外の場合、これをテストすることはほとんど不可能です。b/c ご指摘のとおり、Twitter は API からアプリケーションの認証を解除する方法がなく、アプリケーションを既に認証している場合は別の方法で動作します。