带有构造函数的 TestNG
TestNG with a constructor
我是 testNG 的新手,如果我的 class 有构造函数,我不知道如何进行测试。 请帮助我:)
所以,这是我的。java
public class User {
static class UserInfo{
public int age;
public String address;
public int points;
//Constructor
UserInformation(String Address, int age, int points){
this.age = age;
this.Address = Address;
this.points = points;
}
public int getAge(){return age;}
public String getAddress(){return clinicAddress;}
public int getPoints(){return points;}
public int addPoints(int newPoints){
return points += newPoints;
}
}
我不知道如何进行测试。我阅读了有关@DataProvider 的内容,但我无法确切地了解它是如何工作的
谢谢!
您不需要对构造函数进行单元测试,因为它只是设置实例变量。您编写单元测试来测试您的业务逻辑。
附带说明一下,您应该将实例变量设为私有,并且只允许通过 getter 进行访问。
关于@DataProvider,当您的整个单元测试具有相同的代码行但只是输入或输出不同时,您可以使用它。在这种情况下,您可以将数据传递给您的数据提供者,并且可以通过使用不同的数据集执行相同的测试方法来 运行 多个测试用例,并且可以避免单元测试代码的重复。
对于您的 addPoints() 方法,我们可以使用 @DataProvider 编写测试用例,如下所示:
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Test with zero", 0 },
{ "Test with negative value", -1},
{ "Test with positive value", 1},
}
然后在测试方法中使用 dataProvider,如下所示:
@Test(dataProvider = "test1")
public void verifyData1(String testCase, int number) {
//call your method to being tested with input number
}
有关 DataProvider 的更多详细信息,请阅读 https://testng.org/doc/documentation-main.html#parameters-dataproviders