作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 rspec 和 capybara 来测试包含 javascript 的功能规范。每次运行测试时,都会启动 puma 服务器的单独实例,例如
Capybara starting Puma...
* Version 3.11.0 , codename: Love Song
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:64558
如果我运行完整的测试套件,则 puma 的此实例仅启动一次,但如果我正在调试特定测试,则每次都会运行它,这会大大增加调试所需的总时间。有什么方法可以启动测试 puma Web 服务器的实例并使其在各个测试运行之间保持运行吗?
最佳答案
TL;博士;不完全是
唯一的方法是自己运行应用程序,告诉 Capybara 它在哪里运行 (Capybara.app_host
),然后告诉 Capybara 不要运行自己的服务器 Capybara。 run_server = false
,就像您针对外部应用程序运行 Capybara 一样。问题是 Capybara 将失去跟踪请求完成的能力(这需要服务器在自己的线程中运行),因此同步数据库重置等成为一个大问题。实在不值得。
关于capybara - 如何在 rspec 测试之间保持 puma 服务器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50340345/
我是一名优秀的程序员,十分优秀!