0

我有一个非常奇怪的问题,我真的不明白为什么它不起作用。

这是我正在运行以测试帖子评论的测试

https://gist.github.com/2794100

现在我在那里添加了 2 个额外的测试,以了解为什么“用户应该存在”和“帖子应该存在”不起作用,以尝试了解发生了什么,我收集到的只是用户没有创建。当我运行其他测试时,这很奇怪,一切正常

https://gist.github.com/2794105

用户创建是复制和粘贴,因为我将电子邮件作为唯一键我什至尝试在没有任何其他测试的情况下自行运行测试以确保没有冲突,我还尝试使用新制作的数据库运行它。

如果我在 Rails 控制台上运行每个命令,一切正常,只是在测试本身上它不起作用

任何帮助都会很棒。

谢谢

4

1 回答 1

1

您的测试充满了以下几行:

before { @post.title == "Example Post"}

这只是一个比较,而不是一个任务。这没有任何意义!

您总是引用隐式主题 ( it { should ...),在您的情况下,它是 PostComment 的一个新实例。您应该指定您到底在测试什么,例如:

subject { @foo }

或者只是明确地命名它:

it 'should be valid even if something is nil' do
  before { @foo.name = nil }
  @foo.should be_valid
end
于 2012-05-26T14:45:03.967 回答