タグ

ブックマーク / qiita.com/k5trismegistus (4)

  • RubyでTempfileを使う際の注意 - Qiita

    といったコードがありました。 このコード、だいたいの場合問題なく動くのですが、たまに作成したはずの一時ファイルがないと怒られることがありました。 実は Tempfile オブジェクトは自身への参照がなくなり、ガベージコレクションされた際に一時ファイルを削除する仕組みがあります。実はさきほどのコードでは Tempfile のオブジェクトへの参照が Tempfile#open のブロックを抜けるタイミングでなくなってしまっていたのです。 変数 tempfile があるじゃないか、と思うかもしれませんが実はこれ Tempfile のオブジェクトではないのです。 ドキュメントを見ると、 Tempfile オブジェクトはFileクラスへのDelegatorとして定義されており、Fileクラスのオブジェクトと同じように使うことができます。 とありますが、 File クラスで定義されているメソッドを使う

    RubyでTempfileを使う際の注意 - Qiita
  • スタブとモックの違い - Qiita

    スタブとモックの違い オブジェクト指向設計実践入門を読んで学んだことのまとめです。 具体的にRspecでモックを書くときはこうしましょう、といった具体的な話ではなく言葉の意味の説明がメインです。 ソフトウェアテストの対象 スタブもモックもテストコード内で使うものです。違いを考える前に、テストについて振り返ってみます。 テストを行うべきなのは、次の2つについてです。 オブジェクトがほかのオブジェクトからメッセージを受け取ったとき、期待する答えを返すことができるか 要するにパブリックメソッドに対するユニットテスト 「オブジェクト指向設計実践ガイド」には、プライベートメソッドに対するテストは書くべきではない、さらにいうとプライベートメソッドを書くべきではない(プライベートメソッドを他のオブジェクトに切り出して注入せよ)とあります。 オブジェクトが副作用のあるメッセージ送信を行うとき、その回数や引

    スタブとモックの違い - Qiita
    snjx
    snjx 2023/07/11
    スタブとモック
  • スタブとモックの違い - Qiita

    オブジェクト指向設計実践入門を読んで学んだことのまとめです。 具体的にRspecでモックを書くときはこうしましょう、といった具体的な話ではなく言葉の意味の説明がメインです。 ソフトウェアテストの対象 スタブもモックもテストコード内で使うものです。違いを考える前に、テストについて振り返ってみます。 テストを行うべきなのは、次の2つについてです。 オブジェクトがほかのオブジェクトからメッセージを受け取ったとき、期待する答えを返すことができるか 要するにパブリックメソッドに対するユニットテスト 「オブジェクト指向設計実践ガイド」には、プライベートメソッドに対するテストは書くべきではない、さらにいうとプライベートメソッドを書くべきではない(プライベートメソッドを他のオブジェクトに切り出して注入せよ)とあります。 オブジェクトが副作用のあるメッセージ送信を行うとき、その回数や引数が適切か ログを書く

    スタブとモックの違い - Qiita
  • Sidetiq亡き後の定期実行 - Qiita

    Sidetiq亡き後の定期実行 NO LONGER MAINTAINED!!! Rubyアプリケーションで定期的にジョブを回す場合(毎日2時にElasticsearchのインデックスを再構築とか)、かつてはsidetiqをつかうのが定番であったようです。 しかしsidetiqはずっと開発が停滞しており、とうとう今年1月に「もうメンテナンスしないよ」と明言されてしまいました。 私の関わっているプロジェクトでは10秒ごとにあるジョブを動かすためにSidetiqを利用しています。しかしメンテされていないgemを使い続けるべきではないだろう、というわけでsidetiqを置き換える方法を探してみました。 Alternatives Sidekiq + clockwork Sidekiqの利用例に載っている方法。clockworkというcronの代わりをするというgemを使います。 Sidekiqのレポ

    Sidetiq亡き後の定期実行 - Qiita
  • 1