0

Sinatra アプリケーションを作成するために BDD/TDD アプローチを行っています。認証を追加したいと思います。現在、次のような機能ファイルがあります。

Scenario: Unauthenticated redirects to login page
  Given I am not logged in
  When I go to the homepage
  Then I should be redirected to the login page

私の手順は次のようになります。

Given /^I am not logged in$/ do
  # not sure how to ensure this
end

When /^I go to the homepage$/ do
  visit '/'
end

Then /^I should be redirected to the login page$/ do
  current_path.should == '/auth/login'
end

私はすでにアプリをセットアップしていますsupport/env.rb

require 'capybara/cucumber'
Capybara.app = MySintraApp

そして、私のアプリは次のようになります。

class MySinatraApp < Sinatra::Base
  get '/' do
    redirect '/auth/login' #todo: unless logged_in?
    haml :index
  end

  get '/auth/login' do
    haml :login
  end
end

「ログインしていない」ことを確認する手順を実装するにはどうすればよいですか? BDD/TDD スタイルの方法でログイン機能を実装するにはどうすればよいですか?

4

1 に答える 1

0

ユーザーがログインしていないことを確認する 1 つの方法は、ページに「ログイン」リンク/ボタン (および関連する機能) が表示されているかどうかを確認することです。逆に、ユーザーがログインしているかどうかを確認できます。たとえば、ユーザーの名前がページのバナー部分に表示されているかどうかを確認できます。

それがユーザーがそれを確認する方法であり、それはすべてユーザーの行動に関するものだからです。

于 2012-10-24T09:31:19.353 に答える