我为此绞尽脑汁已经有一段时间了。我甚至复制并粘贴了教程中的例子,所以我不知道我做错了什么。如果能帮忙,我会很感激的。
到目前为止,我已经通过了所有的测试。
我只创建了在清单12.27之前的集成测试
$ rails generate integration_test following这里是我的测试/补丁/Relationships.yml文件(我一直在使用mochi而不是michael整个教程)。
one:
follower: mochi
followed: lana
two:
follower: mochi
followed: mallory
three:
follower: lana
followed: mochi
four:
follower: archer
followed: mochi这是我的测试/集成/下面的_test.rb
require 'test_helper'
class FollowingTest < ActionDispatch::IntegrationTest
def setup
@user = users(:mochi)
log_in_as(@user)
end
test "following page" do
get following_user_path(@user)
assert_not @user.following.empty?
assert_match @user.following.count.to_s, response.body
@user.following.each do |user|
assert_select "a[href=?]", user_path(user)
end
end
test "followers page" do
get followers_user_path(@user)
assert_not @user.followers.empty?
assert_match @user.followers.count.to_s, response.body
@user.followers.each do |user|
assert_select "a[href=?]", user_path(user)
end
end
end下面是我运行bundle exec rake测试时遇到的测试失败
$ bundle exec rake test
Run options: --seed 23507
# Running:
........................................................FF
Finished in 1.736838s, 33.3940 runs/s, 164.0913 assertions/s.
1) Failure:
FollowingTest#test_following_page [/app_path/test/integration/following_test.rb:12]:
Expected true to be nil or false
2) Failure:
FollowingTest#test_followers_page [/app_path/test/integration/following_test.rb:21]:
Expected true to be nil or false
58 runs, 285 assertions, 2 failures, 0 errors, 0 skips如果有人对造成这一失败的原因有任何想法,我将非常感激。这让我快疯了。
发布于 2015-04-10 19:04:54
@user.following.empty?...is返回true。但你以为它是零还是假。
assert_not -断言表达式不真实。如果对象为空或假,则传递。
来自这里。
简而言之,@user.following是空的。您的测试是预期它是而不是。
发布于 2016-03-09 06:01:13
检查是否正确设置了用户夹具。如果您没有用户需要的关系固定,那么它就根本不起作用。
查看Michael的GitHub用户夹具,看看是否全部都有:编辑/blob/主/测试/夹具/users.yml
为我工作过。
https://stackoverflow.com/questions/29568434
复制相似问题