使用 add_mapping 进行 Ruby 自动测试

发布于 2024-08-08 22:02:14 字数 405 浏览 4 评论 0原文

我试图在自动测试中添加一个钩子,以便在 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

I am trying to add a hook in Autotest to trigger tests when javascript files are changed.

Below the is the .autotest file I am using. The syntax seems to be correct, but nothing is happening when a javascript file is updated.

The first hook works fine, the second does not.


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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゝ杯具 2024-08-15 22:02:14

上面的代码有效,但是 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

The above code works, however the the Rspec Rails discovery.rb file adds an exception to ignore the public directory.

In the above autotest file the exception for public/ needs to be removed.

 at.remove_exception "public/"

Then add whatever files or directories in public to be ignored:

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

What I ended up with is:


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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文