[JAVA] junit

Junit verschiedene

Testzielbeispiel YellowServiceImpl ① DeclaredField Quelle @Autowired(required = true) @Named("nameList") private List nameList;

junit:

@PrepareForTest({YellowServiceImpl.class, NameChecker.class}) public class YellowServiceImplTest {

@InjectMocks private YellowServiceImpl yellowServiceImpl;

List nameList = new ArrayList(); nameList.add("hanmeimei"); nameList.add("lilei");

Field field2 = YellowServiceImpl.class.getDeclaredField("nameList"); field2.setAccessible(true); field2.set(yellowServiceImpl, nameList);

②inject interface Quelle:

@Inject NameChecker nameChecker;

nameChecker.getResult(testList);

junit: import static org.mockito.ArgumentMatchers.any; @RunWith(PowerMockRunner.class) @PrepareForTest({ NameChecker.class}) public class SometingImplTest {

@Mock NameChecker nameChecker;

PowerMockito.when(nameChecker, "getResult", any()) .thenReturn("somthing");

③static method Quelle PropertyUtil.getProperty("name"); junit:

import static org.powermock.api.mockito.PowerMockito.mockStatic; mockStatic(PropertyUtil.class); when(PropertyUtil.getProperty(NAME)).thenReturn("HANMEIMEI");

④private method Quelle: private String getName(String id){

} junit: import java.lang.reflect.Field; import java.lang.reflect.Method;

Method method = YellowServiceImpl.class.getDeclaredMethod("getName", String.class); method.setAccessible(true); //test class, method parameter method.invoke(yellowServiceImpl, "HanMeimei");

⑤ the sample of verify the parameter of static void method

import static org.mockito.ArgumentMatchers.any; @RunWith(PowerMockRunner.class) @PrepareForTest({ TestClass.class })

        mockStatic(TestClass.class);
        try {
            PowerMockito.when(TestClass.class, "testMethodName", any(), any(), any())
                    .thenAnswer(new Answer<Void>() {
                        @Override
                        public Void answer(InvocationOnMock invocationOnMock) {

// (Überprüfen Sie die Parameter für TestClass.testMethodName assertTrue(StringUtils.equals("expectString", (String) invocationOnMock.getArgument(2))); return null; } });

// Testlauf target.excute(param); } catch (Exception e) { fail(); }

Recommended Posts

junit
JUnit 4 Notizen
JUnit Memorandum
Refactoring in JUnit
Verwendungshinweise zu JUnit5
JUnit Teststart versuchen Sie etwas
Migrieren Sie von JUnit 4 zu JUnit 5
Einfaches Memo von JUnit of Java
Machen Sie einen Unit-Test mit Junit.