問題タブ [parameterized-unit-test]

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

python - 条件に基づいてさまざまなデコレータを適用する

ユニットテストとノーズ パラメータ化を使用しており、条件に基づいてさまざまなデコレータをテストに適用したいと考えています。

テストがあり、テストをスキップするか、args に渡された引数に基づいてunittest.skipテストを実行したいと考えています。@parameterized.expand(args)

test に適切なデコレータを適用する別のデコレータが必要だと思いますが、どうすればよいかわかりました。

擬似コードは次のようになります。

args == None またはそれ以外の場合@validate_data(args)に適用されるデコレータunittest.skip@parameterized.expand(args)

コメント/提案は大歓迎です。

0 投票する
2 に答える
1003 参照

c# - 条件が多すぎるメソッドの単体テストを処理する簡単な方法はありますか?

私はそれに多くの条件を持つメソッドを持っています:


この機能を単体テストしたいのですが、条件が多すぎて組み合わせごとに考えると単体テストの数が狂ってしまいます。その return ステートメントには 16 の条件があり、各条件は true/false であるため、2^16 の異なる組み合わせをチェックする必要があります。すべての条件が確実に利用されるようにするために、ここで 2^16 の異なる単体テストを作成する必要がありますか? これは簡単な例です。一部の機能には、法的要件により複雑な条件があります。

私の関数のいくつかの計算によると、条件が生成できるさまざまな組み合わせの数は数百万です! データ駆動型単体テスト (DDUT) とパラメーター化単体テスト (PUT) を調べましたが、単体テストが「空白を埋める」スタイルになっているだけです。さまざまな組み合わせと期待される結果をすべて提供する必要があります。例えば:

MSTest を使用してデータソース (csv など) を取得しても、同じ問題が発生します。さまざまな結果をもたらす組み合わせが多すぎます。私が知らない代替手段はありますか?