1

我有一个具有注释的方法,@Test并在优先级之后设置了它priority=1的 data-Provider 注释,但是当我运行我的类时,它会跳过具有的方法priority=1并执行具有的另一个方法priority=2

我想我做得不对。请帮忙。

4

1 回答 1

2
  1. 放置注释属性的顺序无关紧要。即以下内容相同:
    • @Test(priority = 1, dataProvider = "...")
    • @Test(dataProvider = "...", priority = 1)
  2. 设置 apriority和 adataProvider应该按预期工作。这是一个示例测试来证明这一点:

    import org.testng.annotations.DataProvider;
    import org.testng.annotations.Test;
    
    import static org.testng.Assert.assertEquals;
    
    public class ExampleTest {
        private int runFirstInvocationCount = 0;
    
        @Test(priority = 2)
        public void runSecond() {
            assertEquals(runFirstInvocationCount, data().length);
        }
    
        @DataProvider
        public static Object[][] data() {
            return new Object[][]{
                    {/* your data values here */},
                    {/* your data values here */},
                    {/* your data values here */}
            };
        }
    
        @Test(priority = 1, dataProvider = "data")
        public void runFirst(/* your data parameters here */) {
            runFirstInvocationCount++;
        }
    }
    
于 2016-02-19T14:33:15.843 回答