gpt4 book ai didi

java - 如何对更改 Java 中数据的方法进行单元测试

转载 作者:行者123 更新时间:2023-11-30 07:45:39 25 4
gpt4 key购买 nike

假设我有如下代码

public boolean checkForecastIfCityRaining(String name){
result = WeatherAPICallToSomeVendor(name)
if(result = rain)return true; else return false;


}

如果结果数据会根据情况发生变化,我将如何进行单元测试API 供应商提供的内容?

我会模拟每个场景的固定结果然后进行单元测试吗是这样吗?

最佳答案

UNIT 测试实际上应该一次只测试一个方法(隔离该方法可能调用的其他功能)。我现在的团队可能会通过这样编写我们的函数来实现这一点:

public class WeatherCheck
{
private ForecastService fs;
public WeatherCheck(ForecastService fs)
{
forecastService = fs;
}
public boolean checkForecastIfCityRaining(String name){
result = forecastService.weatherAPICallToSomeVendor(name)
if(result = rain)return true; else return false;
}

这将允许我们将模拟预测服务传递到构造函数中。依赖注入(inject)会更好,但我们还没有这样做。

注意:我们区分单元测试和集成测试。我们仍然可以使用 Junit 编写我们的集成测试,但它们更倾向于出去实际戳服务——这可以提前向您发出失败警告。因此,您可以为 ForecastService 编写一个集成测试,它只需调用 ForecastService 的 weatherAPICallToSomeVendor 方法并确保无错误结果(可能没有异常或不返回 null...)。

关于java - 如何对更改 Java 中数据的方法进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51564694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com