试图在rails测试上运行ruby

时间:2018-05-08 13:06:05

标签: ruby-on-rails capybara

Toast.makeText(this, cts.size().toString(), Toast.LENGTH_SHORT).show();

这是页面的代码,所以当你点击表格中的一行时 table,然后它应该跳转另一页,这是有关此行的详细信息。detail page 这是我的测试代码。

%table.table-hover{}
%thead
  %tr
    %th Registration NO.
    %th Name
    %th Tier
    %th Email
%tbody
  - @accounts.each do |user|
    %tr{:onclick => "window.location='/accounts/#{user[:id]}';"}
      %td #{user.id}
      %td #{user.givenname}
      - if user.admin?
        %td Admin
      - elsif user.tech?
        %td Technician
      - else
        %td User
      %td #{user.email}

当我运行并打印出页面时,它似乎仍然在桌面上,这意味着它没有跳转到详细信息页面。

1 个答案:

答案 0 :(得分:1)

正如@Daniel指出的那样,您的:js => true行中没有任何描述文字。这意味着accounts {:js=>true} Account Page can visit account page将被视为上下文块的名称,而不是用作切换到具有JS功能的驱动程序的元数据。这应该是从失败的测试的名称中可以看出的,这个名称可能是context。要解决此问题,您只需在context "something", js: true 调用

中添加描述性文字即可
describe 'Account Page can', js: true do
  ...

或者只是转储上下文块并将元数据应用于其他有意义的块

df <- data.frame(p1 = runif(10)/2, p2 = rep(-1,10), p3 = rep(1, 10));
df$p2 <- df$p1 + runif(10)/2;
r <- runif(10);

c(1,2,3)[apply(abs(outer(as.numeric(df[1,]), r, '-')),2, which.min)];