你好,我写和销售机票的后端服务,我试图为这个api编写测试。当我试图为AirlineCompanyController类编写createAirlineCompany测试时,我得到了这个错误。
Cannot resolve method 'thenReturn(flight.flightticketapp.entities.AirlineCompany)'
我的测试班:
@Test
public void testCreateAirlineCompany()
{
AirlineCompany airlineCompanyNew = new AirlineCompany();
airlineCompanyNew.setName("RYANAIR");
when(airlineCompanyService.createAirlineCompany(airlineCompanyNew.getName())).thenReturn(airlineCompanyNew);
ResponseEntity<AirlineCompany> airlineCompanyResponseEntity = testRestTemplate.postForEntity
(ROOT_URL+"/airlinecompany/airlineCreate",airlineCompanyNew,AirlineCompany.class);
AirlineCompany airline = (AirlineCompany) airlineCompanyResponseEntity.getBody();
assertNotNull(airlineCompanyResponseEntity.getBody());
assertEquals(airlineCompanyNew.getName(),airline.getName());
}
}
还有我的航空公司服务舱:
@Service
public class AirlineCompanyManager implements AirlineCompanyService {
@Override
public Result createAirlineCompany(String name) {
return airlineCompanyAbstract.createAirlineCompany(name);
}
}
我的航空公司Imp课程:
@Component
public class AirlineCompanyImp implements AirlineCompanyAbstract {
@Override
public Result createAirlineCompany(String name) {
AirlineCompany airlineCompany = new AirlineCompany();
airlineCompany.setName(name);
add(airlineCompany);
return new SuccessResult(Messages.airlineCompanyCreated);
}
@Override
public Result add(AirlineCompany airlineCompany) {
airlineCompanyRepository.save(airlineCompany);
return new SuccessResult(Messages.airlineCompanyAdded);
}
}
我得到的错误是来自then返回()方法,我不知道如何解决这个问题。谢谢大家。
您使用的模拟返回值不匹配。当指定模拟时,您返回一个AirlineCompany
:
when(airlineCompanyService.createAirlineCompany(airlineCompanyNew.getName())).thenReturn(airlineCompanyNew);
但您的AirlineCompanyService会返回一个结果
:
public Result createAirlineCompany(String name)
Mockito搜索返回不存在的AirlineCompany
-的方法。您必须从模拟中返回结果,例如。
when(airlineCompanyService.createAirlineCompany(airlineCompanyNew.getName())).thenReturn(new Result());
确保在()时导入了正确的静态方法
import static org.mockito.Mockito.when;
我不明白为什么这段带有Java泛型的代码无法编译。给定这个类: 无法模拟getList返回值: 使用“when…then”的唯一方法似乎是完全剥离泛型,代价是编译器警告: 最终,只有这样才能奏效:
我是Scala的新手。我正在编写以下代码,其中一个APIendpoint在文件中缓存值(某某JsonData.toString()),另一个endpoint从该文件中检索(Json.parse())。使用wh-thenEnter编写测试时,会出现重载方法错误。 我哪里做错了? 缓存文件内容: 缓存ontroller.scala CacheControlllerTest.scala
问题内容: 我正在尝试创建一个KeyValueDB类,该类存储用于与SharedPreferences进行交互的方法,但是我在定义该类时遇到了问题。我只希望构造函数执行的操作是使用正确的文件名存储一个sharedPreferences对象,但是我得到的是“无法解析方法’getSharedPreferences(java.lang.String,int)’ 我正在传递一个String和一个int …
我对Android的Gradle构建有问题。我尝试了很多方法来解决这个问题,但没有什么不起作用。我需要帮助。 Gradle版本:4.4 Gradle插件:3.0.1 错误:无法解析app@serverDebug /compileClasspath的依赖关系:无法解析项目:vksdk_library。 错误:无法解析“”的依存关系:app@mockDebugAndroidTest/compileCl
我试图使用Jenkins构建一个maven项目,结果出现了以下错误,整个构建失败了。Maven成功地从GIT中提取代码并进行处理。但POM误差无法纠正。请帮帮我.
同步项目在开始时失败,我无法修复它。错误是gradle无法解析此依赖项。 知道怎么修好它吗?