soundcloudgemのテストについてはあまり見ていません。ほとんどすべてが素晴らしかった-しかし、私のスペックを通してSoundCloudにファイルをアップロードするのは少し難しいことがわかった。
ここに問題があります:
仕様:
file = "#{Rails.root}/spec/factories/files/sample.mp3"
title = "From the test suite"
track = @client.post('/tracks', track: {title: title, asset_data: File.new(file)})
使うかどうか
File.new
また
File.expand_path
エラーは同じです:NoMethodError:#String:0x007fa1ce8425c0の未定義のメソッド `map'
コントローラで成功するコードは次のとおりです。
file = params["soundcloud_file"]
title = params["title"]
track = client.post('/tracks', track: {
title: title
asset_data: File.new(file.tempfile, 'rb')
})
これで、params["soundcloud_file"]がActionDispatch:: Http :: UploadedFileであることがわかりました。これが、この1時間ほど、運が悪かったために使用しようとしていたことです。
アップロードを正常にテストする方法は何でも構いません。