我遵循Ruby on Rails 3教程第6章。在我的目录spec/models/user_spec.rb
中,我有6个测试用例(不需要真正阅读它们):
require 'spec_helper'
describe User do
#pending "add some examples to (or delete) #{__FILE__}"
before(:each) do
@attr = { :name => "Example User", :email => "user@example.com"}
end
it "should creat a new instance given valid attributes" do
User.create!(@attr)
end
.
.
.
it "should reject invalid email addresses" do
addresses = %w[user@foo,com user_at_foo.org example.user@foo.]
addresses.each do |address|
invalid_email_user = User.new(@attr.merge(:email => address))
invalid_email_user.should_not be_valid
end
end
end
在控制台中,我输入$ rspec spec/models/user_spec.rb
,它吐出
No DRb server is running. Running in local process instead ...
*
Pending:
User add some examples to (or delete) /Users/matthew/Desktop/rails_projects/sample_app/spec/models/user_spec.rb
# Not Yet Implemented
# ./spec/models/user_spec.rb:4
Finished in 0.00023 seconds
1 example, 0 failures, 1 pending
最后一行说我只有一个例子和一个挂起,但我已经写了6个测试!这种不一致让我感到困惑!没有语法错误,我正在保存文件,我在正确的目录,等等。
到目前为止最奇怪的事情(我使用Mac OS X和Textmate):
尽管正确的代码,目录等。CMD+S或File-> Save根本没有保存文件。我一直在用命令行打开文件。解决方法是关闭shell并打开一个新shell