Junit单元测试时提示:Method should have no parameters
场景
Junit中运行单元测试时提示:
Method XXX should have no parameters
如图:
代码如下:
package com.ws.test.common;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ws.sys.entity.SysEnterpriseOrg;
import com.ws.sys.mapper.SysEnterpriseOrgMapper;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class diguiTest extends ServiceImpl<SysEnterpriseOrgMapper, SysEnterpriseOrg> {
List<Long> result = new ArrayList<Long>();
@Test
public void test(){
List<Long> canshu = new ArrayList<Long>();
canshu.add(1l);
selectChild(canshu);
for (Long s :result
) {
System.out.print(s);
}
}
@Test
public void selectChild(List<Long> ids){
List<Long> temp= new ArrayList<Long>();
List<SysEnterpriseOrg> sysEnterpriseOrgList = new ArrayList<SysEnterpriseOrg>();
for (Long id :ids) {
//查询子级架构
QueryWrapper<SysEnterpriseOrg> sysEnterpriseOrgChildQueryWrapper = new QueryWrapper<SysEnterpriseOrg>();
sysEnterpriseOrgChildQueryWrapper.eq("pid",id);
sysEnterpriseOrgList= this.baseMapper.selectList(sysEnterpriseOrgChildQueryWrapper);
if(sysEnterpriseOrgList!=null&&sysEnterpriseOrgList.size()!=0){
for (SysEnterpriseOrg s:sysEnterpriseOrgList) {
temp.add(s.getId());
result.add(s.getId());
}
selectChild(temp);
}
}
}
}
解决
Junit的单元测试@Test不能有返回值和参数。
所以将下面递归函数的@Test去掉即可。
package com.ws.test.common;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ws.sys.entity.SysEnterpriseOrg;
import com.ws.sys.mapper.SysEnterpriseOrgMapper;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class diguiTest extends ServiceImpl<SysEnterpriseOrgMapper, SysEnterpriseOrg> {
List<Long> result = new ArrayList<Long>();
@Test
public void test(){
List<Long> canshu = new ArrayList<Long>();
canshu.add(1l);
selectChild(canshu);
for (Long s :result
) {
System.out.print(s);
}
}
public void selectChild(List<Long> ids){
List<Long> temp= new ArrayList<Long>();
List<SysEnterpriseOrg> sysEnterpriseOrgList = new ArrayList<SysEnterpriseOrg>();
for (Long id :ids) {
//查询子级架构
QueryWrapper<SysEnterpriseOrg> sysEnterpriseOrgChildQueryWrapper = new QueryWrapper<SysEnterpriseOrg>();
sysEnterpriseOrgChildQueryWrapper.eq("pid",id);
sysEnterpriseOrgList= this.baseMapper.selectList(sysEnterpriseOrgChildQueryWrapper);
if(sysEnterpriseOrgList!=null&&sysEnterpriseOrgList.size()!=0){
for (SysEnterpriseOrg s:sysEnterpriseOrgList) {
temp.add(s.getId());
result.add(s.getId());
}
selectChild(temp);
}
}
}
}