複雑な形式のパート IIIのコードが与えられた場合、仮想属性をどのようにテストしますか?
def new_task_attributes=(task_attributes)
task_attributes.each do |attributes|
tasks.build(attributes)
end
end
現在、次のようにテストしようとしています。
def test_adding_task_to_project
p = Project.new
params = {"new_tasks_attributes" => [{ "name" => "paint fence"}]}
p.new_tasks_attributes=(params)
p.save
assert p.tasks.length == 1
end
しかし、次のエラーが発生します。
NoMethodError: 未定義のメソッド `stringify_keys!' 「new_tasks_attributes」の場合:文字列
このテストを改善するための提案は大歓迎です。