Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么不推荐使用assert_模板,我应该使用什么替代?_Ruby On Rails_Deprecated - Fatal编程技术网

Ruby on rails 为什么不推荐使用assert_模板,我应该使用什么替代?

Ruby on rails 为什么不推荐使用assert_模板,我应该使用什么替代?,ruby-on-rails,deprecated,Ruby On Rails,Deprecated,据报道,它已被弃用。为什么它被弃用了,我应该用什么来代替呢?我不知道为什么api文档说它被弃用了,它仍然存在于2.3.8文档中,但在另一个文件中:免责声明:我知道这是一个很老的问题,但无论如何都会回答它 理由: 删除这些方法背后的想法是,实例变量和在控制器操作中呈现的模板是控制器的内部构件,控制器测试不应该关心它们。 根据Rails团队的说法,控制器测试应该更关注控制器操作的结果,比如设置了什么cookie,或者设置了什么HTTP代码,而不是测试控制器的内部。因此,这些方法从核心中移除 提议的解

据报道,它已被弃用。为什么它被弃用了,我应该用什么来代替呢?

我不知道为什么api文档说它被弃用了,它仍然存在于2.3.8文档中,但在另一个文件中:

免责声明:我知道这是一个很老的问题,但无论如何都会回答它

理由:

删除这些方法背后的想法是,实例变量和在控制器操作中呈现的模板是控制器的内部构件,控制器测试不应该关心它们。 根据Rails团队的说法,控制器测试应该更关注控制器操作的结果,比如设置了什么cookie,或者设置了什么HTTP代码,而不是测试控制器的内部。因此,这些方法从核心中移除

提议的解决办法:

assert_response :success

# or rspec with should
response.should be_success

# or rspec with expect
expect(response).to have_http_status(:success)