問題タブ [testify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2200 参照

go - Go: DB 初期化で複数のパッケージからテストを実行

このプロジェクト構造を持つGOプロジェクトがあります(各パッケージにこの種のファイルが複数あります)。

user.go 内には、User 構造体と、ユーザーを作成/取得/更新する関数があります (私は GORM を使用していますが、これは問題ではありません)。user_test.go で。

異なるファイルごとに (すべてのデータを削除するか、特定の状態で) DB をクリーンアップしたいので、ファイルごとに 1 つのスイート (Testify を使用) を作成してから、SetupSuite 関数を使用しようとしましたが、動作は決定論的ではないようで、おそらく私は何か間違ったことをしています。

だから私の質問は:

  • DB接続を共有する最良の方法はどれですか? グローバル変数を使用するのが最善の選択肢ですか?
  • DB にテーブルを一度作成し、各 file_test.go を実行する前にカスタム データで DB を初期化する最良の方法はどれですか?

現在、私も奇妙なバグを抱えています:実行中

すべて正常に動作しますが、実行すると (すべてのパッケージをテストするため)

決定論的ではないように見えるエラーがあります。そのため、DB 接続が適切に処理されていないと推測しています

0 投票する
4 に答える
4178 参照

unit-testing - golang パッケージからのメソッドのモック

golang パッケージからメソッドをモックする解決策を見つけることができませんでした。

たとえば、私のプロジェクトには、Os.Getwd() がエラーを返したときに回復を試みるコードがあります。このための単体テストを作成する最も簡単な方法は、Os.Getwd() メソッドをモックしてエラーを返し、コードが適切に機能することを確認することです。

testify を使用してみましたが、できないようです。

誰でも経験がありますか?

0 投票する
1 に答える
255 参照

testing - xml / 文字列のテストに失敗した場合のカスタム testify 出力

私は testify を使用strings.Containsして XML マーシャリングをテストしており、XML に含まれると思われる行が実際に存在するかどうかを確認するために使用しています。

ただし、実際の xml と必要な xml を比較したいと思います。

現在、私のコードは次のようになります。

xml ファイルには、テストの 1 行よりも多くの行があるため、if ステートメントが大雑把になることが想像できます。よりスケーラブルなこれをクリーンアップするためのアイデアはありますか?

0 投票する
1 に答える
93 参照

testing - この単純なメソッドを Go でテストするには?

私はいくつかの単体テストを書いていますが、次のメソッドのテストを書くのに行き詰まっています:

データベースで既にキーになっている文字列を返すテストが必要ですが、テストでhelpers.RandomString(int)再宣言またはモンキー パッチを適用する方法が見つかりませんhelpers.RandomString(int)

私は testify mock を使ってみましたが、それは不可能のようです。

私は何か間違ったことをしていますか?

ありがとう。