不安定なテストのハンティング1:リストの順序

より不安定なテスト解決の例については、こちらの目次を参照してください 。

DoctolibではPostgreSQLを使用していますが、動作はすべてのデータベースで同じです。PostgreSQLのドキュメントで説明されているように、「並べ替えが選択されていない場合、行は不特定の順序で返されます」。

  • INSERT INTO mytable VALUES (a, b)
  • SELECT * FROM mytable=> [b, a]

users = [create(:user), create(:user)]
assert_equal users, Users.all.to_a

assert_equal users[0], User.order(:id)[0]
assert_equal users[0], User.all.sort_by(&:id)[0]

以下の実際の例でわかるように、APIエンドポイントのjson応答をテストします。get呼び出しで順序を指定しなかったため、エンドポイントはデータベースと同じように応答します。

提案された投稿

Singed、Ruby および Rails アプリケーション用のプロファイラー フロントエンド

Singed、Ruby および Rails アプリケーション用のプロファイラー フロントエンド

Ruby コードのブロック、特定の Web リクエスト、特定のコントローラー アクションの実行速度が非常に遅い理由を理解したいと思ったことはありませんか? おそらく、過去に speedscope などのプロファイリング ツールを使用したことがありますが、面倒であると感じたり、それらの使用方法を試してみましたが理解できなかったりすることがあります。Josh Nichols (別名 @technicalpickles) によって書かれた、Gusto の新しいプロファイリング フロントエンドである Singed を紹介します。

AI および機械学習ベースのテスト

AI および機械学習ベースのテスト

2023 年に注目すべきもう 1 つのソフトウェア テストのトレンドは、人工知能 (AI) と機械学習 (ML) です。AI と ML は、今日では新しい用語ではありません。

関連記事

地球を救ってお金を稼ぐ方法

地球を救ってお金を稼ぐ方法

ペットボトル、ガラス瓶、アルミ缶、グリーンエネルギーパッケージなどを、何回考えずに捨てたことがあるでしょうか? リサイクルする代わりに何かが得られたらいいのにと何度思ったことか。あなたがほとんどの人と同じなら、おそらく答えは何度もあるはずです。リサイクルは、多くの場合、即時的または具体的な利益をもたらさない面倒な作業、面倒な作業、または義務であると考えられています。

無限の命

大人になると、世界はそういうもので、あなたの人生はただ世界の中で生きていくだけで、決して命を危険にさらすことはなく、決められた道をたどって最後には死ぬだけで、失敗しないように努めるのだと言われがちです。壁を打ちすぎてはいけません。しかし、それは非常に限られた人生です。

ポッドキャストが影響力を持つ理由は何ですか?

ポッドキャストが影響力を持つ理由は何ですか?

先週、私はPressGazette(英国のメディアニュースウェブサイト)経由で送信されたプレスリリースに気づきました。この記事は、スカンジナビアのポッドキャスト ホスティングおよび広告会社である Acast が、ポッドキャスティングにおいて「おそらく最も影響力のある」パブリッシャーのコンソーシアムを率いることになると発表しました。

アートは政治的ではないのでしょうか?

アートは政治的ではないのでしょうか?

昨日、私たちは今年のユーロビジョン・ソング・コンテストの幕を閉じました。きらびやかでカオスなグランドフィナーレでスウェーデンの歌手ローリーンがトロフィーを持ち帰り、女性として初めて2回優勝し、ABBAがコンテストで優勝してから50年目にその栄冠をスウェーデンに持ち帰りました。 「ワーテルロー」で。彼らはポップ ミュージックの規範において最大のアーティストの 1 つになりました。