Ruby on rails 使用Authlogic时如何测试注销/注销(UserSessionController销毁操作)?

Ruby on rails 使用Authlogic时如何测试注销/注销(UserSessionController销毁操作)?,ruby-on-rails,rspec,authlogic,Ruby On Rails,Rspec,Authlogic,我正在为会话控制器(Authlogic 2.1.6)的销毁操作编写rspec测试。我不知道应该在user对象或session对象上调用什么方法来确定会话是否仍然“活动”(即用户是否登录) 我的第一反应是使用@user.logged\u登录?但我了解到,这是行不通的,因为登录时会根据会话超时而不是会话对象的状态来确定 下面是我编写的代码,但它不起作用,因为be_logged_in在这两种情况下都返回true describe "for logged in user" do it

我正在为会话控制器(Authlogic 2.1.6)的销毁操作编写rspec测试。我不知道应该在user对象或session对象上调用什么方法来确定会话是否仍然“活动”(即用户是否登录)

我的第一反应是使用@user.logged\u登录?但我了解到,这是行不通的,因为登录时会根据会话超时而不是会话对象的状态来确定

下面是我编写的代码,但它不起作用,因为be_logged_in在这两种情况下都返回true

    describe "for logged in user" do
      it "should logout the user" do
        activate_authlogic
        @user = Factory.create(:valid_user)
        @session = UserSession.create(@user)
        @user.should be_logged_in
        delete :destroy
        @user.should_not be_logged_in
        response.should redirect_to(root_path)
      end
    end
  end

我应该用什么来代替“登录”?我花了一些时间在调试器中玩,查看附加到会话和用户的方法,没有一个跳出来攻击我,认为它们对我想要的有用。

关于
UserSession.find.should\u nil