Unit testing 为什么junit说我的测试方法应该没有参数?
我有这个测试方法:Unit testing 为什么junit说我的测试方法应该没有参数?,unit-testing,junit,Unit Testing,Junit,我有这个测试方法: @Test `public void addNumber (int a, int b){` `int c= a+b;` } 当我运行它时,我得到初始化错误&这个异常: 问题是为什么我的测试方法应该没有参数?这是junit测试方法语法要求。试验方法不应有任何参数 如果要使用带参数的方法,可以使用数据提供程序。下载必要的库并用@RunWithDataProviderRunner.class注释该类 然后创建数据提供程序: @DataPro
@Test
`public void addNumber (int a, int b){`
`int c= a+b;`
}
当我运行它时,我得到初始化错误&这个异常:
问题是为什么我的测试方法应该没有参数?这是junit测试方法语法要求。试验方法不应有任何参数 如果要使用带参数的方法,可以使用数据提供程序。下载必要的库并用@RunWithDataProviderRunner.class注释该类 然后创建数据提供程序:
@DataProvider
public static Object[][] dataProviderMethod() {
return new Object[][] {
{1,2},
{3,4}
};
}
然后像这样写你的junit:
@Test
@UseDataProvider("dataProviderMethod")
public void addNumber (int a, int b) {
int c= a+b;
}
在这个问题上,你可能会重复JUnit:你有测试要执行。其中一个需要两个整数。哪些值应该作为参数传递,为什么?假设你的方法需要一辆汽车、一个插座和一个URL:你把什么作为参数传递,为什么?除此之外:不要把更多的信息放在注释中,或者把注释放在答案中。确保你的问题包含了我们真正需要帮助你的所有信息!我的项目是基于SpringMVC的&它对我没有帮助!我又有例外了!我得到了这个新的异常:没有使用默认解析器为测试“addNumber”找到有效的数据提供程序。按照约定,dataprovider方法名称必须等于测试方法名称,具有某个替换或附加前缀请参见类com.tngtech.java.junit.dataprovider.internal.DefaultDataProviderMethodResolver的JavaDoc或由@UseDataProviderValues明确设置请检查数据提供程序方法名称和@UseDataProvider注释中的值是否相同。对于上面的示例,它是“dataProviderMethod”
@Test
@UseDataProvider("dataProviderMethod")
public void addNumber (int a, int b) {
int c= a+b;
}