首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RoR教程第9章测试失败

RoR教程第9章测试失败
EN

Stack Overflow用户
提问于 2011-04-05 04:30:27
回答 7查看 500关注 0票数 0

我一直在看MHartl的教程,我在第9章有5个持久性错误,所有这些都与LayoutLinks有关。我已经检查了一遍又一遍,我看不出我的代码与他的代码有什么不同,但在我的计算机上运行他的代码通过了所有的测试。

我已经在下面粘贴了一个错误的例子,强调它似乎显示了根页面(通过“访问root_path"),即使在通过"factory(:user) -> fill_in info -> click_button”指令集之后也没有被登录。因此,我认为我要么失去了logged_in状态,要么根本就没有注册。

有什么见解吗?非常感谢。这非常令人困惑。

以下是错误的一个示例:

代码语言:javascript
运行
复制
LayoutLinks when signed in should have a signout link
     Failure/Error: response.should have_selector("a", :href => signout_path,
       expected following output to contain a <a href='/signout'>Sign Out</a> tag:
       <!DOCTYPE html>
       <html>
       <head>
...
...
<li><a href="/">Home</a></li>
             <li><a href="/help">Help</a></li>
               <li><a href="/signin">Sign in</a></li>
           </ul></nav></header><!--
       <header>
         <nav class="round">
           <ul>
             <li><a href="/">Home</a></li>


             <li><a href="/help">Help</a></li>

             <li><a href="/signin">Sign In</a></li>
           </ul>
         </nav>
...
EN

回答 7

Stack Overflow用户

发布于 2011-05-02 02:03:23

我遇到了同样的问题,并意识到Factory(: user )调用没有将用户持久化到数据库中,我最终使用了以下代码来使其工作:

代码语言:javascript
运行
复制
  @user = Factory(:user)
  visit signup_path
  fill_in :email, :with => @user.email
  fill_in :name, :with => @user.name
  fill_in :password, :with => @user.password
  fill_in "Confirmation", :with => @user.password_confirmation
  click_button
  visit signin_path
  fill_in :email, :with => @user.email
  fill_in :password, :with => @user.password
  click_button

请注意,您还必须添加以下内容,以便在测试运行后清除数据库

代码语言:javascript
运行
复制
after(:each) do
User.find_by_email(@user.email).destroy
end
票数 3
EN

Stack Overflow用户

发布于 2011-04-05 04:39:09

这不是很简单吗?你在那里有"Sign In“,但没有signout path :)意思,也许你应该添加

代码语言:javascript
运行
复制
<li><a href="/signout">Sign Out</a></li>

到你的视线。

票数 2
EN

Stack Overflow用户

发布于 2011-04-12 06:35:58

看起来测试没有让用户正确登录。您可以将您的代码与completed sample app进行比较,看看这是否有助于解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5543969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档