Tag: rspec

如何允许使用RSpec的其他docker容器的HTTP请求?

我有一个docker项目有几个不同的移动部分,我想要一个容器能够调用另一个容器的API。 但是,在我的rspectesting中发送任何types的请求会产生: WebMock :: NetConnectNotAllowedError:真正的HTTP连接被禁用。 未注册的请求:… 我怎样才能让它打电话给另一个容器?

如何通过木偶烧杯跑到docker的形象

所以我用这个Nodeset写了一个使用烧杯的Puppet Acceptancetesting HOSTS: ubuntu-12-04: platform: ubuntu-12.04-x64 image: solarkennedy/ubuntu-12.04-puppet hypervisor: docker CONFIG: type: foss 而testing失败,首先我该如何告诉烧杯,以停止删除docker的形象,其次,我怎么ssh上,(嗯,我想如果它停止删除它,我只是ssh像正常ssh的图像,但我会问刚才incase) 我知道我可以将日志logging转换为详细信息以获取更多信息,但是有时只需使用一些命令即可找出需要执行的操作或检查烫发等,而无需重新运行testing这需要一段时间。

在Travis-ci上的Docker容器

我有一个Dockerfile,我试图使用RSpec,serverspec和docker-api进行testing。 在本地(使用boot2docker,因为我在OS X上)这个工程很好,所有我的testing通过,但在travis-ci没有testing通过。 我的.travis.yml文件是这样的: language: ruby rvm: – "2.2.0" sudo: required cache: bundler services: – docker before_install: – docker build -t tomasbasham/nginx . – docker run -d -p 80:80 -p 443:443 –name nginx -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf tomasbasham/nginx script: bundle exec rspec 我在这里做了一些明显的错误吗? 我已经创build并在travis-ci上运行的存储库位于GitHub上 。 可能还有一些我不知道的错误

我如何重置Dockerized Rails应用程序进行集成testing?

我的(Rails和react.js)应用程序依赖于主API应用程序在另一个存储库中运行。 我有这个API应用程序在docker中运行,我的客户端应用程序可以与它通信。 通常在Rails中,我使用类似Database Cleaner的东西在testing之间重新设置数据库,以确保每个规范都有一个清晰的标准。 我怎样才能让我的应用程序,从RSpec,发送一些复位信号到dockerized API应用程序(无论是使用数据库清洁或rake db:seed或类似的东西)?

使用宙斯与Rails 3和docker工人

我们有一个Rails 3.2.9应用程序,最近在开发中切换到了Docker。 到目前为止,我一直在我的机器上使用zeus来预装代码库,并且更快地执行Rspec的testing。 但是,你将如何与docker实现这一点? 当我尝试安装宙斯与我的容器与gem install zeus并开始与zeus start我得到 Unable to accept socket connection. It looks like Zeus is already running. If not, remove .zeus.sock and try again. 在我的文件系统中有一个.zeus.soc (注意最后缺less的k )。 有没有人得到这个与Docker的工作?

使用Docker和Jenkins运行testing – testing结果

我有一个用Rails编写的应用程序。 为了testing它,我构build了一个docker镜像。 一切工作正常。 但是,当我configurationJenkins运行这些testing时出现这个问题。 以下是我在做的步骤: docker-compose up rspec 其中rspec是在docker-compose.yml中定义的服务,包含以下命令: command: "rspec spec/" 当rspec返回错误时,构build仍然成功。 这里输出的一个例子: … 21:42:24 [36mrspec_1 |[0m should save second profile 21:42:24 [36mrspec_1 |[0m 21:42:24 [36mrspec_1 |[0m Failures: 21:42:24 [36mrspec_1 |[0m 21:42:24 [36mrspec_1 |[0m 1) New profile Should persist new_profile_pricture 21:42:24 [36mrspec_1 |[0m Failure/Error: jump_to_four_phase_with(new_profile_picture) 21:42:24 [36mrspec_1 |[0m RuntimeError: 21:42:24 [36mrspec_1 |[0m Timeout for […]

/ etc / hosts中的docker.local主机名未在OSX上为docker计算机parsing(导致rspectesting失败)

我今天有一个错误,我的rspectesting运行良好,直到最后的期望,但是我仍然有一个“数据库连接超时错误”。 这是在本地运行rails,使用docker机器连接到docker内部的postgres实例。 Docker机器指令指导我在/etc/hosts文件中创build一个条目: 192.168.99.100 docker.local 这对于testing本身来说工作得很好,但是接下来的东西(可能是来自DatabaseCleaner的testing套件之后的一些清理步骤)仍然引发了关于超时连接到数据库的错误。 经过大量的调查,debugging,甚至删除和重新创builddocker机器的默认容器之后,我最终将其缩小到如果我用数据库configuration中的实际IP地址replacedocker.local – 它通过。 所以底线 – 一些清理过程没有访问/ etc / hosts定义的docker.local主机名。 这在OSX El Capitan上。

spring不能连接到dockerselenium容器通过rspec运行水豚

它看起来像通过弹簧运行rspec命令无法连接到本地docker容器与运行在docker-machine下的sex在osx下执行水豚testing。 当不通过弹簧服务器调用rspec命令 – 一切工作正常,我可以看到容器日志,而运行与泉 – 我什么都看不到,bin / rspec输出在水豚testing停止,直到我按Ctrl – C。 这里是我的docker的spec_helper.rb rspecconfiguration: Capybara.register_driver :dockerized_selenium do |app| Capybara::Selenium::Driver.new(app, :browser => :remote, :url => "http://192.168.99.100:4444/wd/hub") end Capybara.app_host = "http://10.0.2.2:3000" Capybara.server_host = '10.0.2.2' Capybara.server_port = '3000' Capybara.javascript_driver = :dockerized_selenium 我使用这个docker图像的selenium,用ff浏览器。 192.168.99.100 – 是我的docker机器节点的容器正在运行和10.0.2.2 – 是我的本地主机的IP从容器内。 有人看到我错过了什么? 谢谢。

Rspectesting对Docker容器失败

免责声明:我是新来ruby,RSpec等我试图find我的docker集装箱的testing框架 我有一个dockers容器,运行aws cli。 我已经testing了这个手动和它的工作,作为我的testing的一部分,我想获得AWS版本并检查它。 我已经创build了这个testing it "aws is the correct version" do expect(aws_version).to include("aws") end def aws_version command("aws –version").stdout end 当我运行它时,我得到的显示,作为空白,它看起来像没有运行,并返回任何东西 1) Dockerfile aws is the coorect version Failure/Error: expect(aws_version).to include("aws") expected "" to include "aws" # ./tests_spec.rb:37:in `block (2 levels) in <top (required)>' 我所有的其他testing正确地对容器运行。 我在下面包含了我的dockerfile和test_spec Dockerfile: FROM ubuntu:16.04 ENV LAST_UPDATE=09-04-2017 ##################################################################################### # Current version […]

如何使用相同的Rpectesting来testingRails项目的生产版本?

我正在用Rails构build一个JSON API服务,并使用docker在生产环境中运行它。 在我的Dockerfile中,我想要使用: RUN bundle install –without development test 我有点担心的是Gemfile可能包含一些真正必要的内容:development或者:test 。 这是一个人为的例子Gemfile : # Example situation which works in development and tests but fails in production group :development, :test do gem 'rails', '~> 5.1.4' end 在这种情况下,testing会传递得很好,但生产将被打破。 所以我正在考虑构build生产容器,并使用Docker运行它并公开端口进行testing。 使用相同的Rspec type: request对该容器的type: requesttesting是非常棒的。 testing运行器和rails服务器可以共享相同的testing数据库。 我怎么能强制我的Rspectesting不生成自己的服务器,但使用已经在后台运行的不同的服务?