带Rake的RubyMine调试器?

带Rake的RubyMine调试器?,ruby,rake,rubymine,Ruby,Rake,Rubymine,使用RubyMine 3.0,我设置了一个Rake配置来运行单元测试。然后我设置了一些断点,然后运行Rake任务。没有遇到断点,测试只是像正常一样执行,然后退出 RubyMine调试器是否不能通过Rake工作?尝试以下操作: 转到运行->编辑配置 展开Rake节点并为您的Rake任务添加新的Rake配置(如果尚未完成) 转到运行->调试 选择您配置的rake任务 以上答案是正确的。我只想在使用可安装发动机时对其进行一点详细说明。在这种情况下,我必须做以下工作: 运行>编辑配置>Rake 输入任务

使用RubyMine 3.0,我设置了一个Rake配置来运行单元测试。然后我设置了一些断点,然后运行Rake任务。没有遇到断点,测试只是像正常一样执行,然后退出

RubyMine调试器是否不能通过Rake工作?

尝试以下操作:

  • 转到运行->编辑配置
  • 展开Rake节点并为您的Rake任务添加新的Rake配置(如果尚未完成)
  • 转到运行->调试
  • 选择您配置的rake任务

  • 以上答案是正确的。我只想在使用可安装发动机时对其进行一点详细说明。在这种情况下,我必须做以下工作:

  • 运行>编辑配置>Rake

  • 输入任务名称,例如扫描电子表格

  • 将工作目录更改为主应用程序或虚拟应用程序,而不是引擎根目录

  • 如果您将RVM与多个gemset一起使用,请为Ruby SDK选择第二个选项并选择正确的gemset


  • 设置rake任务时,“编辑/调试配置”选项卡可能会有点混乱。我假设您采用了这种方法:

    Run > Edit Configurations
    Select Rake from the List and select the + button (Add New Configuration) 
    
    您将看到一个配置选项卡:

    名称

    name属性只为该任务分配一个唯一的名称。你可以随便叫它什么

    任务名称

    这一点对于rake任务很重要。这指定要执行的rake任务的名称。假设您希望在调试模式下运行“rakedb:migrate”,那么对于此处的任务名称,您将在不带引号的情况下输入“db:migrate”

    启用调用/执行跟踪,启用完全回溯(--trace)

    此选项对于启用标准的rake--trace选项非常有用

    Ruby参数

    另一个有用的选项是指定要传递给Ruby解释器的参数


    这些是主要的选择。现在您可以使用Run>Debug,它将在rake任务本身的断点处停止。

    有人在rm3.1.1(MacOSX版)上成功地完成了这项工作吗?到目前为止,我还没有任何运气:(我也遇到了这个问题。我注意到:命令的运行方式是:“rake assets:precompile:all RAILS\u ENV=production RAILS\u GROUPS=assets”,因此可能将ENV设置为production会干扰断点。在配置rake任务后,启动调试器,然后启动rake任务(工具->运行Rake任务->选择您的Rake任务)。这在mac上对我有效。@user523146“启动调试器”在这种情况下是什么意思?更改配置对我有效,但当我遇到断点时,我得到了“rake中止!未定义的方法”“always_run”“for debugger::LoadCommand:Class”“您还需要为rake任务指定名称空间。我猜您没有这样做在调试程序中,我的意思是从选择/运行调试配置中选择rake任务配置。