[英]Rails 6.1 upgrade: undefined method `assert_nothing_raised'
[英]Rails “assert” undefined method '+'
我认为这是一个非常基本的问题...在这个简单的示例中为什么assert
方法不起作用?
assert true
我收到以下错误消息:
NoMethodError Exception: undefined method `+' for nil:NilClass
这在rails 4.2.1中。
编辑:这实际上是整个代码块。 我要做的就是进入rails控制台,然后输入assert true。
尽管在进行rake test
,有很多事情可以了解Rake
, Rails
, Minitest
背后的魔力,但是基本上,如果您在进入Rails之前试图对OOP和Ruby有了一些基本的了解,那么您会在控制台中执行此操作。
当您直接在Rails控制台中运行assert true
,这意味着您要在名为main
的对象上调用assert
方法。 但是, assert
方法是在Assertions
模块下的assertions.rb
定义的(您可以通过运行gem open minitest
进行检查,或在gem所在的位置找到它),该方法包含在Test
类中。 这意味着应该在Test
类的实例上调用assert
方法,这实际上是在Rails中运行测试时发生的情况。 main
只是Object
类的实例,其中方法未定义。
但是奇怪的是您从控制台获得的消息,应该是
NoMethodError: undefined method 'assert' for main:Object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.