Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 3 停止Rails控制台加载测试::单元_Ruby On Rails 3_Testunit_Rails Console - Fatal编程技术网

Ruby on rails 3 停止Rails控制台加载测试::单元

Ruby on rails 3 停止Rails控制台加载测试::单元,ruby-on-rails-3,testunit,rails-console,Ruby On Rails 3,Testunit,Rails Console,我有一个名为“Test”的模型(我对该模型的所有内容都进行了注释,因此只剩下类测试结束,以便进行调试),每次我尝试在rails控制台中实例化它时,我都会收到一个错误,即测试:模块不存在“new”方法。这个错误在实例化任何其他模型时都不会发生,我认为这与rails控制台正在加载Test::Unit或类似的东西有关(凭直觉,我运行了Test.constants,控制台返回了[:Unit],所以我很确定这就是问题所在)。无论如何,毫无疑问,rails控制台正在运行一些名为Test的模块,我不希望这种情

我有一个名为“Test”的模型(我对该模型的所有内容都进行了注释,因此只剩下
类测试
结束
,以便进行调试),每次我尝试在rails控制台中实例化它时,我都会收到一个错误,即
测试:模块
不存在“new”方法。这个错误在实例化任何其他模型时都不会发生,我认为这与rails控制台正在加载Test::Unit或类似的东西有关(凭直觉,我运行了
Test.constants
,控制台返回了
[:Unit]
,所以我很确定这就是问题所在)。无论如何,毫无疑问,rails控制台正在运行一些名为Test的模块,我不希望这种情况发生。我如何避免这种情况?将我的类名更改为其他值对我来说非常不方便,所以如果有任何方法可以解决这个问题,那就太好了~

您可以添加一个模块,并在其中包含您的测试类,以避免该问题。然后,您将需要像module::class一样处理您的类。

我只是使用了一个简单的变通方法,将类称为“Exam”而不是Test,但我想知道如何在不解决问题的情况下正确解决这个问题。

我觉得这种方法有点混乱-我更希望有一段代码运行“unfines”rails控制台似乎正在读取的测试类。另外,如果我确实使用了这种封装模块的方法,那么对我其余的代码(数据库访问等)会有什么影响呢?此外,我一直在网上四处寻找,显然名称空间模型在Rails中是一件非常麻烦的事。所以我真的需要rails控制台来避免加载Test::Unit。它并不凌乱,这正是模块的用途。您只是试图将方法添加到已定义的类中。您要么不以已经预定义的类命名您的类,要么将您的类放在模块中。或者是的,就像你说的一起删除测试,但这就像说你想删除Put,因为ruby Put干扰了你的Put。我想你是对的——可能不是最明智的做法,会干扰rails的魔力