0

xunit テスト ランナーが特定のクラスに対して一度に 1 つずつテストを実行するようにするにはどうすればよいですか?

順序は重要ではありません (すべてのテストは現在のカルチャを変更します)

4

1 に答える 1

0

tearDown唯一の簡単な解決策は、メソッドを使用して文化をリセットすることだと思います。

現在のカルチャはグローバル変数であり、グローバル変数は常に単体テストの問題です。そのため、VM を再起動して、テストごとにデフォルト値にリセットする必要があります。これはスレッド ローカルであるため、必須ではありませんが、ユニット テストごとにテスト フレームワークを強制的に新しいスレッドにまたがらせることができれば、それも機能する可能性があります。しかし、それはすべて黒魔術であり、単体テストをより重くします。

別の方法として、コードをリファクタリングして、現在のカルチャ ホルダーを挿入することもできます。この場合、単体テストでカルチャ ホルダーをモックし、グローバル変数にカルチャを保持する単純な実装を渡すことができます。

于 2013-03-08T16:08:46.407 に答える