代码之家  ›  专栏  ›  技术社区  ›  The Who

带有add_映射的Ruby自动测试

  •  1
  • The Who  · 技术社区  · 16 年前

    我试图在Autotest中添加一个钩子,以便在javascript文件更改时触发测试。

    下面是我正在使用的.autotest文件。语法似乎是正确的,但是更新javascript文件时没有发生任何事情。

    第一个钩子很好用,第二个不行。

    
    Autotest.add_hook :initialize do |at|
      at.add_mapping(%r%^spec/(selenium)/.*rb$%) { |filename, _|
        filename
      }
    
      at.add_mapping(%r%^public/(javascripts)/.*js$%) do |f, _|
        at.files_matching %r%^spec/(selenium)/.*rb$%
      end
    end
    
    1 回复  |  直到 16 年前
        1
  •  1
  •   The Who    16 年前

    上面的代码可以工作,但是Rspec Rails discovery.rb文件添加了一个异常以忽略公共目录。

    autotest 为提交例外情况 public/

     at.remove_exception "public/"
    

    然后添加要忽略的公共文件或目录:

     %w{stylesheets images assets}.each {|exception|at.add_exception(exception)}
    

    我最后得到的是:

    
    Autotest.add_hook :initialize do |at|
    
      at.add_mapping(%r%^spec/(selenium)/.*rb$%) { |filename, _|
        filename
      }
    
      at.remove_exception "public/"
      %w{.git public/stylesheets public/images public/assets}.each {|exception|at.add_exception(exception)}
    
      at.add_mapping(%r%^public/(javascripts)/.*js$%, true) do |f, _|
        (at.files_matching %r%^spec/(selenium)/.*rb$% )
      end
    end
    
    推荐文章