unit-testing - 为什么junit说我的测试方法应该没有参数?
问题描述
我有这个测试方法:
@Test
`public void addNumber (int a, int b){`
`int c= a+b;`
}
当我运行它时,我得到初始化错误和这个异常:
"java.lang.Exception: **Method addNumber should have no parameters**"!
问题是为什么我的测试方法不应该有参数?
解决方案
那是junit测试方法的语法要求。测试方法不应有任何参数。
如果要使用带参数的方法,可以使用 Data Providers。下载必要的库并使用 @RunWith(DataProviderRunner.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;
}
推荐阅读
- javascript - 搜索匹配 beetwen 三个条件
- html - 有没有办法让 vue 组件的模板只包含属性的文本?
- javascript - AXIOS POST 表单提交到 WordPress 返回 200,数据返回 0
- mysql - 在mysql中拆分字符串并获取最后一个字符串的正确方法是什么?
- javascript - 在多个条件下进行短路评估的最简洁分配方法
- python-3.x - Selenium 启动 Chrome 会话,但之后立即崩溃
- python - 创建可执行的 tkinter
- ios - 错误阻止我构建模棱两可的项目
- python - 如何仅使用用户输入的值从字典中删除键
- acumatica - 如何在移动应用程序中获取文本字段以允许输入大量文本