gpt4 book ai didi

ruby-on-rails - 为什么我的 Rails 测试这么慢?

转载 作者:行者123 更新时间:2023-12-03 14:54:51 25 4
gpt4 key购买 nike

我的测试套件需要 5 秒钟才能启动是否正常?即使在运行一个空套件时,它仍然需要这么长时间。是因为每次运行都会启动一个新的 rails 实例吗?如果是这样,无论如何要保持它的持久性?

例子:

rlepidi@rlepidi:~/projects/rails/my_project$ time rake test
/usr/bin/ruby1.9.1 -I"lib:test" "/var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/release_test.rb"
Loaded suite /var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader
Started

Finished in 0.000181867 seconds.

0 tests, 0 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed

real 0m4.173s
user 0m3.820s
sys 0m0.288s

如您所见,这个空测试确实很快,但由于某种原因仍然有 4 秒的开销。我正在将 Test::Unit 与 Shoulda 一起使用。

最佳答案

测试速度瓶颈是 Rails 加载环境所需的时间。运行脚本/控制台并查看将您加载到您的环境中需要多长时间......它应该是一样的。

如果您拥有足够大的代码库,其中包含许多插件和 gem,加载时间可能高达 1 分钟!!
如果你像我一样停止运行测试 b/c 你厌倦了等待 30 秒只是为了测试一个小的变化,你需要运行一个像 spec_server 这样的测试服务器,或者更好:spork!

你会发现用 spec_server 处理类缓存可能会有一些奇怪的问题,这就是我更喜欢 spork 的原因。

关于ruby-on-rails - 为什么我的 Rails 测试这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2580880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com