1

使用 vanilla ActiveSupport::TestCase,我在 test/test_helper.rb 中添加了几个生成测试模型对象的辅助方法。在此文件中重新打开了 ActiveSupport::TestCase,其中包含辅助方法。

现在假设我在 Ruby 控制台中(或撬开,加载了 Rails 环境),我想摆弄这些测试方法。我可以加载文件:加载“test/test_helper.rb”,但我无法创建一个 TestCase 实例来让我访问这些测试方法来使用它们:

[4] pry(main)> tc = ActiveSupport::TestCase.new
ArgumentError: wrong number of arguments (0 for 1)
[5] pry(main)> tc = ActiveSupport::TestCase.new(1)
TypeError: 1 is not a symbol
[6] pry(main)> tc = ActiveSupport::TestCase.new(:unit)
ArgumentError: uncaught throw :invalid_test

我徒劳地尝试跟踪源文件中的面包屑痕迹以找到 TestCase 初始化方法,这样我就可以弄清楚它在这里坚持什么。

有人可以帮助我如何思考这样的问题并找出解决方法吗?

4

2 回答 2

1

从此链接复制:https ://gist.github.com/1297510

在您的终端类型上:

RAILS_ENV=test pry
于 2012-07-05T21:50:49.203 回答
0

对于您的具体情况,在我的 ActiveSupport 版本(3.22.2.8)中,我能够执行以下操作:

ActiveSupport::TestCase.new('some_string')

但总的来说,有几种选择:

  • 使用类似的调试器pry可能会有所帮助,以逐步解决问题。
  • 通过找到源代码gem open activesupport或找到您的 gem 的安装位置gem environment
  • 大多数 gem 都是开源的,很容易在 github.com 等上找到。请注意您正在查看正确的版本。
于 2018-05-04T17:54:40.520 回答