0

私は次のようなテストを持っています

    [Test]
    [TestCase("Chrome", TestName = "One")]
    [TestCase("Firefox", TestName = "Two")]
    [TestCase("IE", TestName = "Three")]
    public void MyTest(string Browser)
    {
    .............
    }

私はこれをプログラミングを通して次のように呼んでいます

    SimpleNameFilter filter = new SimpleNameFilter() { };
    Test = "SeleniumTests.Test.One";
    filter.Add(Test); 

    CoreExtensions.Host.InitializeService();
    TestPackage testPackage = new  TestPackage(@"D:\Test.dll");
    RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
    remoteTestRunner.Load(testPackage);
    TestResult result = remoteTestRunner.Run(new NullListener(), filter, true, LoggingThreshold.All);

上記のコードを実行すると、テスト「1」が実行されますが、複数回呼び出すと、なぜこれがこのように起こっているのか誰にもわかりますか?

前もってありがとう、キショア。

4

1 に答える 1

0

まず、あなたの場合、[Test]すでに持っているので、最初のものは必要ありません[TestCase(...)]。属性を削除して、これが違いを生むかどうかを確認してください。第二に、何が起こるかというと、Test クラスOne(あなたが呼んだものだと思います) が取得され、クラス内のすべてのテストが実行されます。たとえば、MyTest3 回実行されます (それぞれに対してTestCase)。

私はあなたが正しいことを理解したと思います.

于 2013-05-21T04:55:14.917 に答える