gpt4 book ai didi

ruby-on-rails - 是否仍然可以在 Rails 4 中使用测试单元?

转载 作者:数据小太阳 更新时间:2023-10-29 06:47:03 24 4
gpt4 key购买 nike

从 Rails 3.2 升级到 Rails 4 后,我的应用程序可以运行,但是我用测试单元编写的测试是一场灾难。

据传,Minitest 与测试单元“兼容”。但是,如果我尝试使用(现在捆绑的)Minitest,就会有很多差异——从 assert* 语句名称和参数到(显然)许多其他既大又微妙的东西。

如果我改为尝试避免 Minitest 并尝试将我的测试单元 gem 保留在我的 Gemfile 中,rake 测试会爆炸,说,

undefined method 'refute_predicate' for class 'ActiveSupport::TestCase'

这是调用的结果

require 'rails/test_help'

:(

我已经搜索了一段时间,但还没有想出任何继续使用测试单元的方法。唯一的选择似乎是(对我们来说,大规模)重构我们的测试代码,因为我们 80% 的测试都以某种方式被 Minitest 与测试单元的不兼容所破坏。

尚未阅读即 http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0我发现实质上没有提到这一点——我觉得一定是遗漏了什么。

有没有可能以系统的方式使Minitest与测试单元更加兼容?或者继续在 Rails 4 中使用测试单元?

最佳答案

您是否子类化:Test::Unit::TestCase 而不是 ActiveSupport::TestCase?

也许尝试将 minitest_tu_shim 添加到您的测试组:

https://github.com/seattlerb/minitest_tu_shim

或者确保继承 ActiveSupport::TestCase

关于ruby-on-rails - 是否仍然可以在 Rails 4 中使用测试单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843523/

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