javascript - Rails + Rspec:由于 Vue.js 页面中的 Javascript 'unsafe-eval' 导致测试失败
问题描述
我正在尝试使用 RSpec、Capybara 和 Chromedriver 运行一个简单的测试,该测试只需填写表格并提交。但是,页面上的 Javascript 无法正确编译,因此表单无法完全呈现。
经过大量故障排除后,我将问题缩小到一些确定菜单是打开还是关闭的 Vue.js 代码:
new Vue({
el: '#dashboard-topbar',
data: {
showDropdown: false
}
})
菜单基本上只是检查showDropdown
是真还是假以便切换:
transition name="fade"
#dropdown_box(v-show="showDropdown" v-cloak)
ul
li Some item 1
li Some item 2
= link_to fa_icon('chevron-down'), '#', '@blur': 'showDropdown=false', '@click': 'showDropdown=true'
我在运行此测试时检查了 Chrome 并收到以下错误:
换句话说,Chrome 似乎不喜欢那样v-show="showDropdown"
。
我的config/initializers/content_security_policy.rb
文件如下:
Rails.application.config.content_security_policy do |policy|
if Rails.env.development?
policy.script_src :self, :https, :unsafe_eval
else
policy.script_src :self, :https
end
end
有谁知道我该如何解决这个问题?
软件包版本:
rails 6.0.2.1
capybara 3.30.0
capybara-selenium 0.0.6
webdrivers 4.2.0
selenium-webdriver 3.142.7
提前致谢!
解决方案
推荐阅读
- django - 为什么我的 Django CORS 标头无法正常工作
- c# - 创建记事本文件,然后在 C# 中打开它错误
- api - 使用 Netlify 功能安全发送电子邮件
- java - 此处不允许使用元素 systemPropertyVariables - Intellij IDEA
- python - 如何将数组附加到json?
- python - 使用 Python Construct 将 64b *little* endian 位图解析为字节数组
- r - 使用多部分公式时,如何将内生变量与其在 R 中的工具相匹配?
- android - Android - 一旦来自附近位置的新数据进入实时数据库,如何发送通知(当应用程序未打开时)?
- windows - 如何使用文件执行命令
- unit-testing - 当其中一项要求是时,为什么它说它从不接触并且没有参数?[科特林]