Я пишу некоторые юнит-тесты в Ruby on Rails. Даже когда я ожидаю, что у теста будет результат, который пройдет валидацию, тест не пройден.
Вот моя модель, которую я тестирую:
class Post < ApplicationRecord
def permitted_params
params.require(:post).permit(:title, :body, :category_id, :admin_user_id)
end
belongs_to :category
belongs_to :admin_user
has_many :comment, :dependent => :destroy
validates :title, presence: false
validates_length_of :body, :minimum => 0
end
Вот мои тесты для этой модели:
class PostTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
test "If title is there" do
post = Post.create(:title => "", :body => "")
assert post.valid?
end
test "If body is long enough" do
post = Post.create(:title => "Some Title", :body => "hhhhhhhhhhhhhhhhhhhhhhhhh")
assert post.valid?
end
end
Это сообщение об ошибке:
F
Failure:
PostTest#test_If_title_is_there [test/models/post_test.rb:9]:
Expected false to be truthy.
Я получаю две ошибки после выполнения теста. Я использую Ruby on Rails версии 5.2.1 и Ruby версии 2.5.1. Любая помощь приветствуется. Я не совсем уверен, почему оба теста не проходят. Заранее спасибо.