I am using C# 8.0 which supports switch expression for my project. I am recently building an unit test project and generate code coverage report. But there seems to be a problem with all switch expressions. I have some lines similar to following in my code:
private static string GenerateRequestUrl(Language language, WeatherDataType dataType) {
var url = "https://data.weather.gov.hk/weatherAPI/opendata/weather.php?";
url += language switch {
Language.English => "lang=en",
Language.TraditionalChinese => "lang=tc",
Language.SimplifiedChinese => "lang=sc",
_ => "lang=en"
};
url += dataType switch {
WeatherDataType.LocalWeatherForecast => "&dataType=flw",
WeatherDataType.NineDaysWeather => "&dataType=fnd"
};
return url;
}
And my test method covers all situations above, but the report shows those lines with switch expressions are not covered. Like in this image: Coverage Highlights in JetBrains Rider
What should I do to make them covered.
