使用Factory和Dataprovider的TestNG类永远无法工作

时间:2018-12-22 09:25:22

标签: java testng

我有一个jar计算器库。像许多示例一样,我制作了一个简单的类来使用Factory和DataProvider测试'sum'函数。但是当我运行它时,我看到:没有执行测试。如果我删除Factory并将DataProvider写入Test批注-一切正常。

public class SumTest {

  Calculator calc = new Calculator();
  private final double a;
  private final double b;

  @Factory(dataProvider = "getValues")
  public SumTest(double aValue, double bValue) {
      this.a = aValue;
      this.b = bValue;
      this.calc = new Calculator();
  }

  @Test
  public void testSum() {
      Assert.assertEquals(a + b, calc.sum(a, b));
  }

  @DataProvider
  public Object[][] getValues() {
      return new Object[][]{
          {10, 5},
          {-10, 5},
          {11.55, -10.55},
          {-5, -6},
          {99999.8d, 1l},
          {9223372036854775807L, 9223372036854775807L}
      };
  }

}

1 个答案:

答案 0 :(得分:1)

DataProvider必须是静态的才能正常工作。