Page 1 of 1

Schein-JUnit erkennt keine Sonarabdeckung für eine Methode, die eine Zeichenfolge zurückgibt

Posted: 12 Jan 2025, 16:25
by Guest
Ich versuche, die folgende Methode zu verspotten, um eine Sonarabdeckung zu erreichen -

Code: Select all

public String getName(String prmTableName) {
GetParameterRequest parameterRequest = new GetParameterRequest();
String absParamStorePath = env.getProperty("amazon.aws.parameter") + prmTableName + "/"
+ env.getProperty("amazon.aws.env");
parameterRequest.withName("/someurl")
parameterRequest.withName(absParamStorePath).setWithDecryption(Boolean.valueOf(true));
GetParameterResult parameterResult = awsSimpleSystemsManagement.getParameter(parameterRequest);
System.out.println("Parameterstore Table Response:  " + parameterResult.getParameter().getValue());
return parameterResult.getParameter().getValue();
}
Unten ist meine Testimplementierung

Code: Select all

@Mock
DAO dao

@BeforeEach
public void setup(){
MockitoAnnotations.initMocks(this);
mockmvc= MockMvcBuilders.standaloneSetup(dao).build();
}

@Test
public void testName(){

String value="";
when(dao.getName("storeName"))
.then(t->value);

}
aber wenn ich es durch das Sonar laufen ließ, erhalte ich eine Abdeckung von 0 %. Kann jemand etwas Licht ins Dunkel bringen, was falsch sein könnte? Ich bin neu bei Mockito, aber ich denke, was passiert, ist, dass der Test einfach einen leeren Wert weitergibt, aber nicht einmal die erforderliche Methode zusammen mit den erforderlichen Parametern trifft.