繁体   English   中英

Rails“断言”未定义的方法“ +”

[英]Rails “assert” undefined method '+'

我认为这是一个非常基本的问题...在这个简单的示例中为什么assert方法不起作用?

assert true

我收到以下错误消息:

NoMethodError Exception: undefined method `+' for nil:NilClass

这在rails 4.2.1中。

编辑:这实际上是整个代码块。 我要做的就是进入rails控制台,然后输入assert true。

尽管在进行rake test ,有很多事情可以了解RakeRailsMinitest背后的魔力,但是基本上,如果您在进入Rails之前试图对OOPRuby有了一些基本的了解,那么您会在控制台中执行此操作。

当您直接在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM