あなたの間違った使い方
そもそも併用する動機が間違っている
「ansibleのコードが正しいか不安だから、serverspecでチェックする」という動機で併用する方がいますが、間違いです。
serverspecのコードが絶対に正しいと言えない限り、チェックすることは不可能です。
ansibleとserverspecで同じ結果をチェックする
ansibleで、
- name: restart hogehoge.service
systemd:
name: hogehoge.service
state: restarted
daemon_reload: yes
enabled: yes
become: yes
と書いておいて、serverspecで、
describe process('hogehoge') do
it { should be_running }
end
とだけ書くのも間違いです。
systemdモジュールはべき等性が保証されているため、serverspecでプロセス起動の有無をチェックすることは無意味です。
TDDの「不安をテストする」という金言を知ったなら、べき等の意味もおさえましょう。
もし、どうしてもserverspecでチェックするのであれば、プロセス起動以外にサービスが参照する設定ファイルの値を確認するべきです。
ただし、それらすべてのチェック項目はansibleで確認できてしまうことを覚えておいて下さい。