タグ

時間とmockに関するraimon49のブックマーク (5)

  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
    raimon49
    raimon49 2019/09/30
    それぞれのアプローチに対して工夫点やメリットをしっかり拾って総評しているのが素晴らしいなぁ。これ回答を提出した人も嬉しいよね。
  • 和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE

    テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g

    和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE
    raimon49
    raimon49 2014/01/05
    コンストラクタインジェクションで分離・改善して行く流れの解説。
  • GitHub - wolfcw/libfaketime: libfaketime modifies the system time for a single application

    libfaketime, version 0.9.10 (March 2022) ======================================== Content of this file: --------------------- 1. Introduction 2. Compatibility issues 3. Installation 4. Usage a) Basics b) Using absolute dates c) Using 'start at' dates d) Using offsets for relative dates e) Advanced features and caveats f) Faking the date and time system-wide g) Using the "faketime" wrapper script h

    GitHub - wolfcw/libfaketime: libfaketime modifies the system time for a single application
  • libfaketimeでプロセスに通知する現在日時を変更する | OSDN Magazine

    libfaketimeを用いると、プロセスに通知する現在日時を、マシンのシステムクロックとは異なる日時にすることができる。虚偽の日時を設定するというこの機能は、システム日時の参照に直接関連する機能だけでなく、更新日時など、ファイルのタイムスタンプ機能にも影響を及ぼす。libfaketimeを用いれば、マシンのシステムクロックを変更することなく、プログラムの将来の動作や異なるタイムゾーンでの動作をテストすることができる。ネットワークアプリケーションにおいては、タイムゾーンのテストができると便利である。ローカル環境ではまだ有効な証明書の期限が、あるタイムゾーンでは切れているということがあり得るからだ。 libfaketimeは、プリロードのライブラリとして動作する。これを使用するには、プログラム実行時にこの共有ライブラリが含まれるように環境変数LD_PRELOADを設定する。たとえば、LD_P

    libfaketimeでプロセスに通知する現在日時を変更する | OSDN Magazine
    raimon49
    raimon49 2013/07/15
    faketimeコマンド
  • コード内で「現時刻」を気軽に取得してはいけない | Nekoya press

    日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理がい違う 例えばこんなコード。ログ集計とかやってるイメージです。 class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result

    raimon49
    raimon49 2013/07/09
    テスタビリティの観点から 使い回すにしても変数名で悩むんだよね
  • 1