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);

当我执行上面的代码时,测试“一个”正在执行,但是多次调用,有人能说出为什么会这样吗?

在此先感谢,基肖尔。

4

1 回答 1

0

首先在你的情况下你不需要第一个[Test],因为你已经有了[TestCase(...)]。只需删除该属性,看看这是否会有所作为。其次,我相信发生的事情是,Test 类One(我认为你称之为)被拾取并在该类中执行所有测试。例如MyTest将运行 3 次(每次TestCase)。

我希望我理解你是正确的。

于 2013-05-21T04:55:14.917 回答