2016-04-12 20 views
1

理想的なユニットテストでは、それらの間でコンテキストを共有すべきではありませんが、私はジレンマがあることを理解しています。1つのライセンスしかない単体テスト一度にインスタンス化されます。.NETユニットテストクラス間の共有コンテキスト

.NET単体テストが並行して実行されているように見えるので、「すべてのテストを実行」をクリックすると、クラスはすべて同時に実行され、すべてがライセンスを取得できないためほとんど失敗します。

  • どのように私はC#のユニットテストクラス間のコンテキストを共有します:

    は、だから私は、相互に排他的である二つの質問を参照してください?

  • または.NETユニットテストをに並列実行するにはどうすればよいですか?

明確化:ライセンスソフトウェアは、私がテストしようとしているものではありません、それは私が

+1

あなたはそれらを強制的に並列に実行しない*としますか? –

+1

あなたのユニットテストに干渉しないようにライセンスプロバイダを擬似または注入できますか? –

+4

UTの代わりに統合テストを作成したような感じです。なぜ、分離のために模造フレームワークを使用しないのですか? –

答えて

1

は、通常、私はSingletonアンチパターン以降を検討したいテストを行うために必要なだけのツールですユニットテストが不可能になります。 これは良い例です。Singletonです。 プライベートコンストラクタと静的コンストラクタを持つ実際のシングルトンは、一度だけ実行され、スレッドセーフです。

このようにして、テストを並行して実行することができます。

+0

はい。ありがとう。私は躊躇していたが、これも行く方法だと思う。 – Raychaser

0

これはあなたが探しているかもしれませんが、すべてのテストを同時に実行してもそれぞれが別々のAppDomain上で実行されている場合はうまくいかないでしょうか?参考のため

私はあなたが実際の試験に合格することができ、クロスドメインの代表者使用:それは作品だなら、私を知ってみましょうhttps://msdn.microsoft.com/en-us/library/system.appdomain.docallback(v=vs.110).aspx

を!

関連する問題