Ruby の Singleton クラスをテストする
問題
Singleton クラスをテストするとき、キャッシュ機構などを備えたクラスの場合にテスト全体にわたって状態が持ち越されてしまうのでテスト結果が不安定になる
対処
テスト毎に Singleton クラスのサブクラスを生成する
code:_(ruby)
let(:target_class) { Class.new(described_class) }
let(:target_instance) { target_class.instance }