ruby-on-rails - Ruby on Rails 测试中的“数据库已锁定”错误消息是什么意思?
问题描述
我正在关注 Hartl 的 Rails 教程并使用 Rails 6。每当我运行测试时,我都会不断收到持续性错误,这些错误似乎是随机弹出的 - 随机,因为连续测试有时会指示不同区域的错误。这些测试也非常非常慢 - 有时 > 30 分钟。有没有人遇到过这个?我可能做错了什么?现在是红鲱鱼:我使用的是 Win 8.1 :)
这些错误消息的共同点是它们都包含“RuntimeErroer:数据库已锁定”消息。这是其中之一:
ERROR["test_email_validation_should_reject_invalid_addresses",
#<Minitest::Reporters::Suite:0x000000000c9b29c0 @name="UserTest">, 608.7059665989946]
test_email_validation_should_reject_invalid_addresses#UserTest (608.71s)
RuntimeError: RuntimeError: database is locked
解决方案
很长一段时间以来,我一直在与同样的错误作斗争。它实际上变得如此糟糕,它阻碍了我在 Hartl 的 Rails 教程中真正前进。
编辑:找到了一个更好的答案,它可以简单地解决问题,而不是使用我可能不太了解的设置。
见-> https://stackoverflow.com/a/62730905/10463184
我唯一的贡献是,作为 Windows 用户,我发现注释掉 test/test_help.rb 中的整行...
parallelize(workers: :number_of_processors, with: :threads)
解决了这个问题。尝试链接中建议的设置会导致“需要 UNIXServer (LoadError)”错误。
推荐阅读
- ios - Isn't layoutSubviews supposed to get called once per frame only?
- c# - 使用 XML 文档作为 DataTable 的数据源
- android - 导航栏应该在 android 快餐栏的顶部吗?
- python - Cassandra 3.x 读取性能,每行 100 列
- asp.net-core - 无法在 Entity Framework .Net Core 3.1 中插入重复的 Id
- python - 当我尝试使用 python 使用 selenium 输入用户名和密码时出现错误
- react-native - react-native-svg 中 Arc Progress 的圆角
- javascript - 如何使用散列 bcrypt 版本更新数据库中的每个密码?
- react-native - 反应导航堆栈导航器禁用返回功能
- c++ - 为什么在定义结构的优先级队列时使用向量?