我正在使用菠菜、Capybara 和 Poltergeist 一起编写自动化 UI 测试。我一直在尝试加快本地运行测试的速度。我正在使用 Spring,它对环境加载有一点帮助。但是,Poltergeist 启动的对应用服务器的第一个请求 ( visit
) 很慢,因为 Rails 必须在第一次编译资产。我尝试在测试环境中启动本地服务器,然后在我的菠菜env.rb
文件中执行此操作:
::Capybara.run_server = false
::Capybara.app_host = "http://localhost:#{ENV['TEST_SERVER_PORT']}"
这使得调试变得困难,因为 Web 服务器运行在与菠菜进程不同的进程中。此外,预编译资产不是一个好的解决方案,因为我不想每次在调整 JS 文件中的内容然后运行测试以验证我的更改时都运行它。
底线:有没有人想出如何使第一个测试服务器请求更快?