2012-08-24 12 views
5

私はVisual Studio 2010/2012のReSharper 7で2つの永続的なテストセッションを設定しました。 "合格"と "失敗"。私はPassingセッションを毎日実行し、最後の回から回帰失敗を迅速に特定することができます。その場合、これらのテストをFailingに移動します。それは動作し、それは素晴らしいです。チーム全体でReSharper Unit Testセッションを共有するにはどうしたらいいですか?

ReSharper docsで提案されているように、チーム間で共有したいと思うようなセッションを「ソリューションチーム共有」オプションとしてエクスポートする方法が見つからないという問題があります。当然のことながら、同じテストセッション構造を利用している他の人に利用できるようにすることは有益でしょう。しかし、セッションを変更すると、 'PatientPortal.sln.DotSettings'ファイルではなく 'PatientPortal.sln.DotSettings.user'ファイルが更新されるように見えるだけです。 ReSharperので

- >オプション - >ユニットテスト、私は「保存と復元ユニットテストセッション」をチェックして、[保存-へを選択している - 「ソリューション[名前]チーム共有」

ので、難易度のI ReSharperのユニットテストセッションは、あなたがチェックインして共有するものではないと思われますが、この場合は生産性が高いと思いますので、誰でもこれを行う方法を知っていますか?

答えて

1

これにはカテゴリを使用する必要があります。あなたはNUnitのを使用している場合は、このように、カテゴリを使用してテストやテストフィクスチャをマークするためにCategoryAttributeを使用することができます:あなたは一つのテストのために複数のカテゴリを指定することができます

[Category("Failing")] public void MyTestProc() ... 

(ちょうどいくつかの時間を属性を使用します)。その後、ReSharper | Unit Tests | Unit Testsに行き、Group by -> Categories(またはそのようなもの、正確に覚えていない)を選択します。あなたのカテゴリーを選択し、ツールバーからボタンRun selected testsを押してください。

+0

私はテストセッションを自分にとって魅力的なものにした実際のテスト自体を変更しないことを望んでいましたが、これが唯一の方法だと思います。私はNUnitを使用していませんが、TestCategory( "Failing")]はMicrosoft.VisualStudio.TestTools.UnitTesting名前空間内で動作します。ありがとう。 –

1

リハーサルテストセッションはユーザーごとに保存され、.sln.DotSettings.userファイルに保存されることを意図しており、.userファイルはチェックインされていません。

ほとんどのシナリオでは、チーム全体で共有することは意味がありません - 特定のクラスをTDDingしている場合、チームの他のメンバーは自分のテストを見る必要はありません。コードの同じ領域で作業していて、代わりに独自のセッションを持つことになります。エフェクトのノックは、共有設定ファイルのその部分で多くのチャーン(そしてコンフリクトの危険性が高い)になります。

チーム共有設定ファイルの[保存先]を選択すると、共有設定ファイルにのみ「ユニットテストセッションの保存と復元」の設定が行われます。セッション自体は保存されません。

私はそれについて長すぎる考えをしていませんが、ロックされたセッションをチームの共有設定に保存したReShaprerプラグインを書くことができると思われます。 UnitTestSessionManagerは、セッションが作成または閉じられたときにイベントを発生させ、IUnitTestSessionインターフェイスはGetPersistentInfoおよびRestorePersistentInfoを公開します。これにより、保存およびロードするデータを取得できます。それは、適切な時に設定ファイルにデータを永続させる場合です。

このファイルで競合が発生することはありませんが、私はこれらの要素がシリアル化され、データがかなり高密度な形式にシリアル化されているためセッションの変更は苦しいことがあります。

おそらく別の作業方法が良いでしょうか? 1つのセッションですべてのテストを実行するだけでは得られないことを示す2つのセッションは何ですか? ReSharperを使用すると、合格または不合格のテストだけを表示できます。チームがテストを合格または不合格にグループ化できるようになるのは本当に助けになりますか?おそらく後で修正する必要のあるテストにカテゴリを追加するのでしょうか?今修正するほど重要でない場合は無視してください。今すぐ修正しますか?

+0

答えをありがとう。 「1回のセッションですべてのテストを実行するだけでは不十分であることを示す2つのセッションは何ですか?私がすべてのテストを一緒に走らせると、すでに壊れているものと一緒にテストを実行すると、通過したテストに後退したテストがあるかどうかはわかりません。それらを実行する前にそれらを分離することで、新しい障害が発生したかどうかを素早く確認することができます。もちろん、私はそれらをすべて修正してやる必要がありますが、あなたが知っている、すぐに修正するつもりの壊れたものがいくつかあります。 –

4

unittestのセッション保存機能のためのオープンチケットがあります:私たちは、将来的にこの機能を得ることができます願っています

RSRP-275264 Add action to save unit tests session

が。おそらくあなたが投票したり、あなたのユースケースについてのコメントを投稿したりするのに役立ちます。

関連する問題