3

これは私がproject_test.rbとして書いた単体テストです

require 'test_helper'

class ProjectTest < ActiveSupport::TestCase
  test "projects" do
    visit new_project_path
    click_link "new_Project"
    fill_in "Title", :with => "test app"
    fill_in "Project_type", :with => "basic"
    fill_date "Date_fielded" , :with => "2012/12/3"
    fill_in "Owner name", :with => "chetan"
    fill_in "Status", :with => "new"
    fill_in "Brand", :with => "nike"
    click_link "Create_Project"            
 end
end

私はこれをエラーとして受け取ります

1) Error:
test_projects(ProjectTest):
NameError: undefined local variable or method `new_projects_path' for #<ProjectTest:0xaa6a25c>
test/unit/project_test.rb:5:in `block in <class:ProjectTest>'

パスを変更してパスのエラーをチェックしようとしましたが、うまくいきませんでした。また、レーキルートをチェックしてパスをチェックしました。

4

3 に答える 3

1

つまり、複数形ではなく単数形である必要がありますnew_project_path詳細については、パスと URLprojectに関する Rails Routing ドキュメント セクションを参照してください。

于 2012-12-06T06:42:07.410 に答える
0

のダンプを見ると便利です

rake routes

しかし、リンク名が間違っているのではないかと思います。

new_project_path 

それ以外の

new_projects_path

また、RESTfulルートを使用している場合は、new_project_pathページにnew_Projectリンクがない可能性が高く、インデックス(projects_path)にある可能性が高くなりますが、rakeルートはそれを絞り込むのに役立ちます。

于 2012-12-06T06:44:28.370 に答える
0

ActionDispatch::IntegrationTest統合テスト (およびActionController::TestCaseコントローラーの機能テスト)を作成するには、 from をサブクラス化する必要があります。

ActionDispatch::IntegrationTestURLヘルパーのセットアップなどがあります。

于 2012-12-06T06:52:15.243 に答える