0
对soundcloud宝石的测试还没有看到太多。大多数情况都很出色 - 但是我发现通过我的规格将文件上传到SoundCloud有点棘手。Ruby 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
的错误是一样的:无MethodError: 未定义的方法`地图”的#String:0x007fa1ce8425c0
控制器中的成功代码是:
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,所以这就是我一直试图在过去一小时左右的工作与没有运气。
我愿意以任何方式成功测试上传。
更新。在发现测试无法通过之后,即使仅仅触发控制器操作后,控制器发出了一条被抓取的轨迹,我知道一些可疑的事情发生了。 因此,我卸载了一堆测试宝石,我尝试了但不是完整的:VCR,WebMock,Caller和Capybara-Mechanize的绑定。如果我特意找出交易的具体内容,我会倾向于来电者的绑定作为罪魁祸首......会让你知道。 – phillyslick 2013-03-12 00:27:11