ハーメチックユニットテスト

UnsplashのCDCによる写真

プログラミングの大部分は、コードが期待どおりに機能することを確認するためのテストを作成することです。小規模なプロジェクトでは、テストの作成は面倒に思えるかもしれませんが、機能が追加され、モジュールがリファクタリングされ、チームが成長するにつれて、テストの価値が示されます。ほとんどのソフトウェアエンジニアは、単体テスト、統合テスト、受け入れテストなどの基本的なテストタイプに精通しています。今日は、統合テストになるのではなく、単体テストを維持するために、単体テストを気密に保つことについて話したいと思いました。

ハーメチックは、クリーンルームの実験室に関連付けられることがよくありますが、ソフトウェアの世界では、外部の影響から絶縁または保護されたテストを指します。これらの影響は、データベース、ライブラリ、API、またはテストされている特定のコードセットではないその他のものなどの依存関係である可能性があります。設計による単体テストは、システムの単一の目的のテストに焦点を当てた狭い範囲を持つものとします。たとえば、クラスの単一のメソッドのみをテストします。この狭い範囲により、単体テストの理解とトラブルシューティングが容易になるだけでなく、高速で信頼性の高い状態が維持されます。

たとえば、外部APIからハッシュを引数として取り込む図1について考えてみます。to_fahrenheit華氏に変換される摂氏の温度を含むこのハッシュ。

def to_fahrenheit(api_return)
  (api_return[:temperature] * 9/5) +32
end
Figure 1: Arbitrary Ruby method to coverting Celsius to Fahrenheit

class TestMeme < Minitest::Test
  def setup
    @fake_api_return = {temperature: 100}
  end

  def test_to_fahrenheit
    assert_equal 212, to_fahrenheit(@fake_api_return)
  end
end
Figure 2: Hermetic Unit Test of to_fahrenheit using Ruby minitest

提案された投稿

私が最もよく使用するコーディング リソース

私が最もよく使用するコーディング リソース

今週、毎日のメールリストのメンバーからメールを受け取りました。彼らは次のことを知りたかったのです。毎日、毎週、毎月どのリソースにアクセスしていますか? 素晴らしい質問です!私のワークフローと使用している主なリソースについての洞察を共有したいと思います。

ハイパーモダンなターミナル ツールボックス

ハイパーモダンなターミナル ツールボックス

ターミナル、シェル、コマンドライン ツールが 2023 年の標準を設定します。すべての開発者はターミナルを使用します。ワークフロー全体がターミナルである人もいます この投稿では、ハイパーモダン ターミナル ツールボックスを紹介します — ターミナル、シェル、コマンドライン ツールが 2023 年の標準を設定します ターミナル エミュレータとしての Kitty Kitty はターミナル エミュレータです — それは GNOME ターミナルの代替品です、Alacritty または Windows ターミナル。

関連記事

24 年度に炭素除去に資金を提供

経路全体にわたる Carbon180 の割り当てリクエストの内訳

24 年度に炭素除去に資金を提供

アリソン・リー著、マネージング政府問題顧問 連邦政府の年次歳出プロセスは、二酸化炭素除去 (CDR) に資金を提供する取り組みの中心です。毎年、Carbon180 は、来年の資金がどこに流れるかの指針となるよう、さまざまな議会事務所に要望書を提出しています。

お子様向けの初めてのハイになる本

お子様向けの初めてのハイになる本

(警告 - これは風刺であり、大喜びで破壊的な意図があります - 絶対に子供向けではありません) あなたは、お母さんとお父さんがキッチンに隠れて臭いタバコを吸っているのを見たことがあるでしょう。彼らはあなたに言います。

メディアを再考する: マクチェズニーの 5 つの真実とコミュニケーションの未来

今日の非常につながりの深い世界では、メディア システムは世論の形成、ひいては民主的な意思決定において極めて重要な役割を果たしています。学者のロバート・マクチェズニーは、コミュニケーションの政治経済についての深い分析の中で、従来の通念に疑問を呈し、メディアに関する彼の言うところの「5つの真実」を提示します。

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

曖昧さを避けるために、次の用語が使用されます。認証者; ログイン Web サイトの作成に使用されている携帯電話。ユーザーがログイン要求サービスを行うために使用している Web サイトまたはアプリケーション。特定のサービスを提供するベンダー。例: