1 一般文件名是用小写单词加下划线分割,但类的名字用骆驼法。例如 sessions_controller.rb中定义SessionsController。
2 helpers内的文件为辅助类,定义了许多方法。这些公共方法一方面为直接提供给view使用,因为view文件中不能写require。另一方面可以为controller使用,同样不用写require,但是一定要include。而test文件夹里的类要想使用帮助类,必须要写require ,例如所有的test文件都会有 require ‘test_helper‘。这两个处理方法不同的原因可能是helpers类是在rails框架下运行的,可能有特殊处理直接加载,就像Gemfile里的gem不需要使用require,而可以在文件中直接使用。而test文件夹的东西不需要运行服务器就可以测试,没有特殊处理来简化工作,只能用Ruby最基础的语法。
3 test里的helpers文件夹里和test_helper.rb的作用不一样,不是为辅助test环节的方法,而是测试app里的各helper类的方法,起名字有特殊要求,类名应该是被测试的helper类名后加Test,文件名是原来文件名后加_test。例如为了测试app/helpers/sessions_helper.rb里的方法method1,测试文件命名应是test/helpers/sessions_helper_test.rb(其实这个不是必须,只是规范),里面的类名必须为SessionsHelperTest(否则使用method1会报错没有这个方法),这样在测试里可以直接使用method1,而不用require sessions_helper
时间: 2024-10-19 22:07:49