ActionController :: TestCase vs ActiveSupport :: TestCase; 究竟有什么区别?

Nei*_*day 7 ruby-on-rails ruby-on-rails-3

我认为这ActionController::TestCase仅用于测试ActionControllers,但ActiveSupport::TestCase测试是什么?它测试所有东西(模型,视图和控制器)吗?这些类中的一个或两个是旧的还是过时的?我认为我更喜欢坚持使用RoR的测试方式而不是与其他宝石混淆等等.我是Ruby on Rails和TDD的新手.

beo*_*orn 6

ActionController :: TestCase专为测试控制器而设计,因此它具有测试控制器的特殊方法.
ActiveSupport :: TestCase专为测试模型而设计.
这些课程有api
http://api.rubyonrails.org/classes/ActionController/TestCase.html http://api.rubyonrails.org/classes/ActiveSupport/TestCase.html

  • 不太正确,因为`ActiveSupport :: TestCase`是作为基础测试类实现的,所以它不适用于'模型',而是适用于测试.我的意思是你显然可以使用`ActiveSupport :: TestCase`来测试控制器.`ActionController :: TestCase`只是有一些方便的断言和命名约定,使测试更容易.例如,默认情况下,它会尝试设置`@controller`变量,假设您的测试以控制器加'Test'命名. (2认同)