Вот мой код для контроллераRails 4 MiniTest функциональный тест не удалось для создания метода
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
и мой код для тестирования
test "should get create post" do
assert_difference('Post.count') do
post :create, post: {title: @post.title, content: @post.content}
end
assert_redirected_to post_path(assigns{:post})
end
ошибка, что я получаю
ArgumentError: сравнение массива с массивом не выполнено тест/контроллеры/posts_controller_test.rb: 22: in `block in '
если я удалить (правопреемники {: пост}) и попробуйте тест
я получаю эту ошибку
ActionController :: UrlGenerationError: Нет маршрута матчей {: действие => "показать",: контроллер =>» posts "} отсутствующие требуемые ключи: [: id] Также как протестировать if, если не выполнить« новую »часть в контроллере.
Благодаря
нет это все еще не работает, потому что я сделал включить это в начальной настройке делать @post = сообщения (: один) конца –
Какова ваша валидация на модели? Не забывайте, что светильники уже загружены в базу данных, поэтому, если у вас есть уникальное ограничение на ': title' или ': content', сохранение завершится неудачно. – rkamun1