명확히하기 위해 : 저는 Ruby와 Rails를 처음 사용합니다.테스트를 통과 할 때 "<:redirect>이 될 것으로 예상되는 응답은 <200>"입니다.
나는 here, here 및 here의 sugestions 내 문제를 해결하기 위해 tryed했지만, 그들은 내 문제와 직접적인 관계를 갖고있는 것 같다하지 않았거나 이해가 않습니다 너무 바보입니다.
개체를 업데이트하지 않고 응용 프로그램을 리디렉션하도록 시나리오를 테스트하려고합니다. 내 컨트롤러 코드가 맞는지 잘 모르겠다. 아마이 시나리오를 다루지 않을 것 같다. 이미 @status.changed?
있는지 확인하려고했습니다, 그것은 정말하지 않았다
def update
@status = current_user.statuses.find(params[:id])
@document = @status.document
if params[:status] && params[:status].has_key?(:user_id)
params[:status].delete(:user_id)
end
respond_to do |format|
if @status.update_attributes(params[:status]) &&
@document && @document.update_attributes(params[:status][:document_attributes])
format.html { redirect_to @status, notice: 'Status was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @status.errors, status: :unprocessable_entity }
end
end
end
: 여기 내 테스트 코드입니다 :
test "should not update status if nothing has changed" do
sign_in users(:rodrigo)
put :update, id: @status
assert_redirected_to status_path(assigns(:status))
assert_equal assigns(:status).user_id, users(:rodrigo).id
end
, 내 컨트롤러 업데이트 코드입니다. 나는 옵션이 없다. 누구든지 더 많은 정보를 원하고 도움이 필요하면 제공 할 수 있습니다. 나를 위해