2017-02-02 9 views
1

まだ誰もこれを実装していますか? [Parallelizable]属性を持つ[TestFixture]クラスを宣言すると、この単一のテストクラスを複数のブラウザインスタンス(Selenium)と並列に実行することができません。 Resharper - > Options - > Unit Testingで4つのアセンブリを追加しましたが、助けにはなりませんでした。しかし、[Parallelizable]属性を持ついくつかの異なるテストクラスがある場合、R#ユニットテストコンソールで期待通りに並列に実行されます。重要な点は何ですか?あるResharper。並列に同じNUnit TestFixtureクラスを実行するには?

答えて

1

これは、このようなテストの構造を作成し、あなたの質問にはいくつかの詳細を欠いているので、私はあなたが何かなどを持っていると仮定しています...

[Parallelizable] 
[TestFixture("browser1")] 
[TestFixture("browser2")] 
[TestFixture("browser3")] 
public class MyTestClass 
{ 
    public MyTestClass(string browserName) { ... } 
    ... 
} 

...

MyTestClass 
    MyTestClass("browser1") 
    MyTestClass("browser2") 
    MyTestClass("browser3") 

、 3つのフィクスチャインスタンスを含むテストスイートを取得します。もちろん、各フィクスチャにはあなたが書いたテストが含まれています。

[Parallelizable]属性はスイートに適用され、個々のテストには適用されません。このスイートは、他の並列化可能なスイート、フィクスチャ、およびテストと並行して実行できます。しかし、スイート内の個々の什器は並列化できません。

私の例では、​​を使用して個々のフィクスチャを並列化することができます。これは「この時点から、フィクスチャを並列化できます」と言います。

確かに、これは非常にあいまいです。私たちはそれをより明確にする方法を見つけ出すべきです。

とにかく...私が正しいと思ったら、あなたの質問に答えたと思います。もし私がそうしなければ、あなたはそれを編集して、助けをより良いものにすることができました。

+0

は、より詳細なことには:私は [TestFixture] いる[並列化(ParallelScope.Fixtures)]を パブリッククラスSomeTest(){ [OneTimeSetUp] 公共ボイドsetupMethod(){ //ここでいくつかのコード } [テスト] ます。public void initialTest(){ //ここにいくつかのコード } [OneTimeTearDown] ます。public void tearDownMethod(){ //ここにいくつかのコード }我々は何回SomeTestクラスを宣言することができる場合 – President

+0

質問です並行して実行されます。引数なしで '[TestFixture]'を使用している場合は、パラメータ化されたテストフィクスチャを持たないので、テスト用フィクスチャは使用できません。[Parallelizable(ParallelScope.Fixtures)= 3]または[Parallelizable(ParallelScope.Fixtures)= 5]のようなものです。 – President

+0

インスタンス化され、一度だけ実行されます。 Parallelizable属性は、インスタンスの作成とは何も関係なく、パラレルで実行されるかどうかにのみ関係します。必要な構文は存在しません。オリジナルの質問を編集して、いくつかのコードを表示する必要があります。なぜなら、これはコメントの中ではっきりと分かりませんし、別の答えを試すことも可能です。 – Charlie

関連する問題