これが役立つかどうかはわかりませんが、Rails 2.3.2を使用している場合を除いて、自分のアプリケーションでこれらのテストの1つを実行しました。
私の場合、落とし穴は、ユーザー用のフィクスチャを入れるのを忘れていたため、crypted_passwordが一致しなかったということでした(なぜそれがまったく値を持っていたのかはまだ私には謎です...私はRailsがきれいにならなかったと思いますテストを実行する前にテストデータベース?)
class DonglesControllerTest < ActionController::TestCase
fixtures :users
test "index api" do
@request.env['HTTP_AUTHORIZATION'] = encode_credentials('one', 'one')
get(:index, { :name_contains => 'XXXX0001', :format => 'json' })
assert_equal 'application/json', @response.content_type
dongles = ActiveResource::Formats::JsonFormat.decode(@response.body)
expected_dongles = [
{ 'id' => 1,
'name' => 'XXXX0001',
'key_id' => 'usbstor\disk&ven_flash&prod_drive_sm_usb20&rev_1100\0000000000000000&0' }
]
assert_equal expected_dongles, dongles
end
private
# verbatim, from ActiveController's own unit tests
def encode_credentials(username, password)
"Basic #{ActiveSupport::Base64.encode64("#{username}:#{password}")}"
end
end