js.erb格式的控制器测试
Controller testing with js.erb format
我使用的是Rails 4.2.5,我已经为destroy操作编写了一个控制器测试,我正在使用ajax调用来destroy,并使用destroy.js.erb文件。当它调用js格式时,请帮助我解决以下问题以通过测试,我在下面粘贴错误。
def destroy
@status = @song.destroy
respond_to do |format|
format.js
end
end
Songs控制器测试#testrongshould_destroy_song:
ActionController::UnknownFormat: ActionController::UnknownFormat
app/controllers/songs_controller.rb:36:in `destroy'
songs_controller_test.rb
test "should destroy song" do
assert_difference('Song.count', -1) do
delete :destroy, id: @song
end
get :destroy, format: 'js'
end
destroy.js.erb
var element = document.getElementById("<%="song#{@song.id}" %>");
<%if @status%>
element.parentNode.parentNode.remove();
<%end%>
destroy
控制器操作通常对DELETE
HTTP方法作出反应,因此在调用delete
:时应使用format
选项
test "should destroy song" do
assert_difference('Song.count', -1) do
delete :destroy, id: @song, format: :js
end
end
相关文章:
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 如何对具有多个$resource调用的角度控制器进行单元测试
- 通过因果报应测试管理angularjs控制器初始化
- 将范围添加到角度种子默认视图控制器时,测试套件现在失败
- 如何在控制器中测试功能
- 如何测试从promise对象获取数据的控制器
- 角度单元测试控制器
- 角度测试:监视在控制器初始化时执行的函数
- 控制器中的离子单元测试,spyOn未通过
- 使用emberjs测试视图控制器
- 如何在单元测试中注入Angular控制器
- 如何在AngularJS中承诺控制器后进行单元测试
- js.erb格式的控制器测试
- TypeError:无法读取属性'那么'在使用Karma测试AngularJS控制器时未定义的
- AngularJs的单元测试失败是因为Karma没有'无法识别$scope$控制器中的侦听器
- Angular.js中的控制器单元测试
- 角度单元测试:如何在没有范围的情况下测试控制器属性
- 使用控制器测试角度服务
- 模拟工厂控制器测试
- 如何用内联控制器测试指令范围上的值