deviseのpassword_comfirmationについて
もう一度考え直してみましたが今回のテストコードは、「空の値を送信する」という動作を登録ボタンをクリックするのではなく、空の値を保存する事で代用しようとしていると思われます。
・空の値を保存する場合、Userモデル(devise経由有り)とMessageモデル(devise経由無し)では処理のされ方が異なる。
・deviseを経由するとpassword_confirmation の入力が必要なくなる。
・devise経由時に入力値が「“”」だと空ではない(何か値が入っている)と見なされてfalseになり、「nill」ではそもそも処理が行われない(何も値が入っていない)と見なされてtrueになる。