在轨道中进行单元测试的问题,特别是使用外键

时间:2014-03-10 00:56:55

标签: ruby-on-rails unit-testing

我无法在rails中运行单元测试。我不断收到此错误:SQLite3 :: ConstraintException:列电子邮件不是唯一的。我在我的帖子模型中有一个外键用于电子邮件,但我不知道为什么我一直收到上述错误。我的测试类的代码如下:

test "should not save post without title" do
 post = Post.new
 post.text = "hello world"
 assert !post.save
end

test "should not save post without description" do
 post = Post.new
 post.title = "hello"
 assert !post.save
end

1 个答案:

答案 0 :(得分:0)

事实证明,rails 4不喜欢使用上述格式的测试。当我将方法标题更改为:

时,它可以工作
  def test should_not_save_post_without_title
  //add testing code
  end

并确保所有模型夹具中都包含需要测试的每个变量的样本数据。一个例子是:

在我的帖子夹具中:

 one:
  text: MyString
  title: MyString