meteor - Mocha-web 客户端测试未使用 Velocity for Meteor 应用程序运行

标签 meteor mocha.js velocity

我有 2 个示例 Mocha Web 测试,我正在尝试使用 Velocity 运行它们。

出于某种原因,/tests/mocha/client 文件夹下的客户端测试永远不会执行,而/tests/mocha/server 文件夹下的服务器端测试运行良好。

这是我的项目todos的结构( meteor 示例项目)

  • 客户
  • 包裹
  • 服务器
  • 测试
  • Mocha
  • 客户
  • 服务器

  • 想法?

    最佳答案

    我遇到了这个问题,它与安装浏览器策略包有关。

    您需要做的是查看 JavaScript 控制台,例如在 Chrome 开发者工具中,查看控制台选项卡。 (Apple 键 + 选项键 + I)。你应该看到这样的错误:

    Refused to frame 'http://localhost:5000/?mocha=true' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'frame-src' was not explicitly set, so 'default-src' is used as a fallback.



    出于安全目的,您仍应安装此软件包,但为了进行测试,请执行以下操作:
    meteor remove browser-policy
    meteor
    

    我猜您现在看到您的客户端测试正在运行吗?就我而言,我一删除浏览器策略包就看到了它们。基本上,此时您需要做的是调整应用程序的浏览器策略设置,以允许 iframe 用于 mocha,例如http://localhost:5000 ,但仅限于开发环境。

    在更改代码之前放回浏览器策略包。
    meteor add browser-policy
    

    现在对浏览器策略设置进行更改:
      // Your browser policy settings, e.g.
      // BrowserPolicy.content...
    
      // Need to run this at the end so that it overrides normal broswer policy settings.
      if (process.env.NODE_ENV === "development")
      {
        console.log("In development mode. Allowing all framing so that mocha-web can run for tests.");
        this.BrowserPolicy.content.allowOriginForAll("localhost:*");
        this.BrowserPolicy.content.allowConnectOrigin("ws://localhost:5000");
        this.BrowserPolicy.content.allowConnectOrigin("ws://localhost:3000");
      }
    

    关于meteor - Mocha-web 客户端测试未使用 Velocity for Meteor 应用程序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866008/

    相关文章:

    intellij-idea - 如何将当前年份插入 IntelliJ IDEA 版权模板?

    javascript - 循环遍历数组并使用 Meteor 添加到集合中

    meteor - 在 Meteor 网站上获得 Adsense 帐户的批准

    javascript - 发布更改时防止 Meteor 删除已发送到客户端的 MiniMongo 数据

    typescript - 从命令行使用 Chai 和 TypeScript 运行 mocha 测试

    javascript - Mocha 测试套件在 setInterval(...) 运行时永远不会结束

    c++ - 新旧位置之间的速度

    javascript - Meteor Method 中的 .forEach 无法返回

    testing - 如何使用 Jenkins 自动化 Mocha 测试?

    java - Spring roo是否使用jspx作为 View 技术