18

NetBeans 6.9 为 RSpec 提供了一个自定义 Runner 类以集成到 IDE 中。我试图让我的 Rails 3 应用程序规范在 NetBeans 中正确显示,但 RSpec 2 似乎不再支持一般的自定义 Runner 类。

任何想法如何将规范导入IDE?

4

5 回答 5

4

到目前为止(NB 6.9.1)我知道从 NetBeans 内部运行 Rspec2 测试的唯一方法是使用 rake 任务。但是由于这个和其他一些问题,我无法使其与 UI Test Runner 一起工作。所以最好的方法是避免调用 UI runner,这可以通过多种方式完成:

  • 通过工具 -> 选项 -> 杂项 -> Ruby禁用它
  • 修改project.properties文件
  • 为任务指定除“spec”以外的其他名称,因此将任务命名为“rspec”将避免调用 UI 运行器

这样,您将在输出 pan 中获得测试结果,但它仍然可用,因为您可以单击堆栈跟踪上的任何位置,NB 会立即将您带到该文件:行。

剩下一件事,NB Rakefile 自动生成的任务无效(对于 Rails 项目,没有这样的问题),要使其正常工作,至少需要:

require 'rspec/core/rake_task'

Rspec::Core::RakeTask.new(:rspec)
于 2011-01-20T19:32:39.087 回答
4

刚刚。Oracle 刚刚宣布他们将在未来的 NetBeans 版本中取消对 Rails 的支持。是时候开始研究其他 IDE 选项了。

http://news.ycombinator.com/item?id=2148161

于 2011-01-29T14:30:52.603 回答
1

我知道这不是您所期望的,但您可能想检查一下 RubyMine3,它是开箱即用的,您确实需要购买许可证,但至少您可以在 30 天试用版中检查它

于 2010-11-18T21:05:02.910 回答
1

我正在使用 RVM。
至少我希望能够从 IDE 内部运行我的 Ruby 1.9.2 / Rails 3 / RSpec 2 规范,并能够单击 Netbeans 的堆栈跟踪以打开正确的文件和行。

我找到了一个解决方法:
在项目中的某个地方放置一个 ruby​​ 文件,该文件可以运行规范套件。例如。我的 ruby​​ 文件有以下内容:

system <<EOF
  time ~/.rvm/wrappers/ruby-1.9.2-p290@default/rspec --drb spec 
EOF

根据需要更改 ruby​​ 版本和 gemset。

主要限制:
我不能只运行一个规范。为此,我必须将“spec”参数更改为目标规范文件(虽然这没什么大不了的)。

于 2011-10-28T03:24:05.517 回答
0

Netbeans 运行规范相当缓慢(在此处使用 rspec1),建议从命令行运行规范。

于 2011-01-13T11:32:54.683 回答