問題タブ [database-testing]

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 に答える
483 参照

unit-testing - JUnit4 テストで @Before と @After のオブジェクトの同じインスタンスにアクセスする

データベースアプリケーションのテストに JUnit 4 を使用しています。各テストには実行前にデータベースの特別なプリセットが必要なので、@Before最初にデータをロードする方法と@After、データベースからすべてのデータを削除する方法を使用しています。いくつかの理由で DBUnit を使用できませんが、データベースのロードとクリーンアップの作業を行うカスタム Java 実装を使用する必要があります。メソッドでこのカスタム実装からクラスのインスタンスを作成できますが、@Beforeメソッドで同じインスタンスを取得することが重要です@After

私の最初のアイデアは、フィールド (例: myObject) をテスト クラスで使用し、それをメソッドで設定して、メソッドで再度@Before使用できるようにすることでした。@Afterただし、JUnit のライフサイクルと、テストが並行して実行されたときの動作 (myObject上書きされる場合) についてはわかりません。

もう 1 つのアイデアはTestWatcher、メソッド内でこのオブジェクトのインスタンスを作成し、startingそれをフィールドにも保存する JUnit を使用することです。次に@Rule、テスト クラスで を使用して、実装の getter メソッドを介してこのインスタンスにアクセスしますTestWatcher

したがって、私の質問は基本的に次のとおりです。

1) メソッドにデータベースを事前設定し、@Beforeメソッド内のすべてのデータを削除することは適切@Afterですか? したがって、次のテストで少量のデータのみをロードする必要がある場合は、はるかに高速に実行されます。

@After2)メソッドで作成されたメソッド内のオブジェクトの同じインスタンスにアクセスするにはどうすればよいですか@Before。テストが並行して実行される場合でも、同じインスタンスであることを保証する必要があります。私の2つのアイデアのいずれかがそれを実装するための良い方法ですか? どちらが優れていますか?

ありがとう!

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

php - ActiveRecord モデル/エンティティでテストする価値があるのは何ですか?

私は単体テストを始めたばかりで、被験者がモデルをテストしているとき、少し混乱し、少し圧倒されています。現在、セッターとゲッターを備えた ActiveRecord モデルがいくつかあります。それらのほとんどは単にデータをカプセル化するためのものであり、firstName フィールドと lastName フィールドの連結を返す getFullName() メソッドなど、何か新しいものをもたらすものはごくわずかです。

では、何をテストすればよいでしょうか。すべてのプロパティ割り当てをテストする必要がありますか、それとも getFullName() などの特別なメソッドのみをテストする必要がありますか? どこまで行けばいいですか?クラス自体をいつテストし、データベースの挿入を実際にテストするのはいつですか? エンティティに既に存在する検証についてはどうですか?それを考慮に入れる必要がありますか?

私を圧倒するのは、多くのフィールドを持つエンティティに必要と思われるテストの量です。それを回避する方法はありますか?

例は特に高く評価されます!

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

php - PHPUnit テストごとにデータセットを変更する

私はPHPUnit Testingの初心者で、メソッドの複数のシナリオをカバーする必要があります。このメソッドはテーブルの行を取得し、それに基づいて決定を行うため、クエリに一致する行が 0 行の場合は何らかのアクションを実行し、そうでない場合は別のアクションを実行します。

DBUnit のセットアップを行い、すべてが実行されていますが、クラス全体が同じ getDataSet メソッドを実行しているため、同じ MySQLXMLDump を実行しています。

例えば:

testScenarioA -> 空のテーブル。

testScenarioB -> テーブルにデータがあります。

クラスの各テスト関数がfoo XMLをロードする必要があります。どうすればそれを達成できますか?

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

sql-server - CI / TFS および SQL Server データベースのテスト: 単体テストによるスキーマの検証

SQL Server でスキーマ検証を実行するためのベスト プラクティスは何ですか?

ビュー、ストアド プロシージャ、関数のトリガーが既存の作業テーブル (またはその他のオブジェクト) を指しているかどうかをテストする必要があり、データベース内のすべてのオブジェクトに対してこのチェックを実行する必要があります。壊れたコードを導入する人を避け、本番環境でリリースする前に一貫した状態にする必要があるスキーマ全体を検証したいと思います。

ユニットテスト内でやりましょうか?最善のアプローチは何ですか?

CI/TFS と Visual Studio 2015 を使用しています。

ありがとう!

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

unit-testing - 並列データ ウェアハウスで tsqlt を使用できますか?

tsqlt を使用するには、CLR 関数を有効にする必要があることがわかりました。実際に PDW で使用できますか?

または、PDW で単体テストを実行する他の方法やツールはありますか?

ありがとう、