当前位置: 首页 > 知识库问答 >
问题:

如何在Docker内部使用水豚和恶灵测试ActionCable?

黄淇
2023-03-14

我需要测试操作电缆功能内部dockerated rails应用程序,运行JS测试与恶作剧(PhantomJS)。

我试过硒网驱动,铬驱动,无头铬...没有工作。

当然,将彪马设置为水豚服务器。

共有1个答案

蒯慈
2023-03-14

我找到了解决办法。问题来了,因为我生成我的应用程序使用orats和它预配置Action电缆从Web服务器分离(作为一个单独的docker容器)。

添加了以下内容使其工作:

# rails_helper.rb
Capybara.server = :puma

# docker-compose.yml
services:
  ...
  tests:
    depends_on:
       - 'redis'
       - 'postgres'
       - 'box'
    build: .
    volumes:
      - '.:/app'
    volumes_from:
       - box # busybox image to cache bundle install
    env_file:
       - '.env'
    environment:
      RAILS_ENV: test
      ACTION_CABLE_MOUNT: '/cable'
    command: /bin/true

# config/environments/test.rb
config.action_cable.url = nil
config.action_cable.mount_path = ENV["ACTION_CABLE_MOUNT"]

然后跑

docker-compose run tests bundle exec rspec

瞧!

 类似资料:
  • 如何在docker容器中运行基于的测试用例? 我有一个简单的Spring Boot应用程序,它具有集成测试(组件级),使用与容器交互。测试用例正在破坏来自外部容器(本地机器)的罚款。 我们正在容器中运行所有内容,并且build正在docker jenkins映像上运行。Docker文件正在创建jar,然后创建image。找不到安装的docker。下面是我的docker文件。 处理这个案子最好的办法

  • 我是cucumber和水豚的新手,我对以下错误感到困惑: 在我的功能中,我有: 我的步骤如下所示: 我尝试了“click(button\u text)和click\u link”方法。我想这可能是我没有看到的明显的东西。我试图找到按钮元素的css定位器,然后单击该元素。我认为regex不需要更改,因为我正在更改“button\u text”局部变量的内容。还是我?

  • 在我的Rails项目中,我通常使用在我的应用程序中构建/创建用户。我想知道在使用Cucumber, Capybara时是否可以使用来测试用户与我的应用程序的交互。没有数据库可以保存它们,我只是想存储它们的凭据 我可以有很多用户希望为每个用户创建工厂(除非有更好的Cucumber方法)。 在我的支持文件夹中,我可以创建一个Factorys文件夹,然后创建一个。保存每个用户的rb文件。 在我的文件中,

  • 我是写集成测试的新手,所以如果这个问题看起来很初级,请原谅(尽管我花了几个小时在网上寻找答案)。 我与Rails 4、RSpec和Capybara合作。 这是我的代码: 错误: 链接在浏览器中工作正常。我试着保存并打开这个页面,它确实显示了一个空白页面。我的所有RSpec单元测试都使用当前配置。控制器不能呈现我的页面吗?如果是,我如何修复它?我现在没有任何控制器测试。 谢谢你的建议! 我的等级库助

  • 不仅浏览器没有打开,而且测试失败,输出如下:

  • 我正在根据一个主要开发人员的请求编写一个自动化测试。 正在开发的网页的一部分是允许用户提取数据的csv。在过去,CSV中的报头排序存在许多缺陷。 我需要打开csv,将头转换成一个数组,并与我创建的预期头的数组进行比较。 我已经读过Ruby2.0中的CSV文档,但我对Ruby还是个新手,我正在努力弄明白这一切的意义。 因此,期望csv中的第一个头eql我自己的数组中的第一个头。 我如何将csv文件头