Rails minitest有很多属于模型测试ActiveRecord::UnknownPrimaryKey错误
Rails Minitest Has Many And Belongs To Model Test ActiveRecord::UnknownPrimaryKey Error
当我尝试 运行 使用 simpleCov 进行小型测试时,我希望覆盖连接 table 模型 UserMessages
。
我有安装夹具,运行 测试并不断收到 ActiveRecord::UnknownPrimaryKey
错误。这是预料之中的,因为我在 UserMessage table.
上没有主键
有没有办法绕过这个错误并覆盖 UserMessage 模型?
型号:
class User < ApplicationRecord
has_and_belongs_to_many :messages, join_table "users_messages"
end
class Message < ApplicaitonRecord
has_and_belongs_to_many :users, join_table: "users_messages"
end
class UserMessage <ApplicationRecord
self.table_name = "users_messsages"
belongs_to :user
belongs_to :messages
end
赛程:
用户:
default:
name: test
留言:
default:
message: hello world!
users:
- default
用户留言:
default:
user: default
message: default
测试:
require "test_helpers"
class UserMessageTest < ActiveSupport::TestCase
def setup
@user_message = user_message(:default) # The error happens here: ActiveRecord::UnknownPrimaryKey:\
# Unknown primary key for table users_messages in model \
# UserMessage
end
test "is valid" do
assert @user_message.valid?, "Should be valid"
end
end
我才意识到这有多糟糕。
我无法使用夹具来解决问题。
require "test_helper"
UserMessageTest < AcitveSupport::TestCase
def setup
@user_message = UserMessage.new(user_id: User.first.id,
message_id: Message.first.id)
end
test "could save successfully" do
assert @user_message.save
end
end
测试通过!
当我尝试 运行 使用 simpleCov 进行小型测试时,我希望覆盖连接 table 模型 UserMessages
。
我有安装夹具,运行 测试并不断收到 ActiveRecord::UnknownPrimaryKey
错误。这是预料之中的,因为我在 UserMessage table.
有没有办法绕过这个错误并覆盖 UserMessage 模型?
型号:
class User < ApplicationRecord
has_and_belongs_to_many :messages, join_table "users_messages"
end
class Message < ApplicaitonRecord
has_and_belongs_to_many :users, join_table: "users_messages"
end
class UserMessage <ApplicationRecord
self.table_name = "users_messsages"
belongs_to :user
belongs_to :messages
end
赛程:
用户:
default:
name: test
留言:
default:
message: hello world!
users:
- default
用户留言:
default:
user: default
message: default
测试:
require "test_helpers"
class UserMessageTest < ActiveSupport::TestCase
def setup
@user_message = user_message(:default) # The error happens here: ActiveRecord::UnknownPrimaryKey:\
# Unknown primary key for table users_messages in model \
# UserMessage
end
test "is valid" do
assert @user_message.valid?, "Should be valid"
end
end
我才意识到这有多糟糕。
我无法使用夹具来解决问题。
require "test_helper"
UserMessageTest < AcitveSupport::TestCase
def setup
@user_message = UserMessage.new(user_id: User.first.id,
message_id: Message.first.id)
end
test "could save successfully" do
assert @user_message.save
end
end
测试通过!