springboot+mockito 단일 테스트 시작

6063 단어 springbootmock
주: 프로젝트를 시작하려면spring-boot-test가 필요합니다.jar은 1.4.4를 사용하세요.RELEASE 위에 이 버전의 springboot이 포함되어 있습니다.낮은 버전의 위에서 말한 그jar가 없습니다. 프로젝트 시작 모크의 대상은null입니다.아래와 같이 의존하다.
<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.mockitogroupId>
            <artifactId>mockito-allartifactId>
            <version>1.8.5version>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>commons-logginggroupId>
            <artifactId>commons-loggingartifactId>
            <version>1.1.1version>
        dependency>

서비스 의존은 다음과 같다.
@Service
public class MessageServiceImpl implements MessageService {

    @Autowired
    ActionService actionService;

    @Override
    public String say(String name) {

        return actionService.doSay(name);
    }

}

테스트 코드는 다음과 같다.

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
public class BeanTest {

    @Autowired
    @InjectMocks// mock 
    MessageService messageService ;

    @Mock// mock bean
    private ActionService actionService;

    @Before
    public void setUp() throws Exception {
        Mockito.when(actionService.doSay("name")).thenReturn("name");
    }

    @Test
    public void test() {
        //  before 2 1
        // when(actionService.doSay(anyString())).thenReturn("helloworld");
        System.out.println(messageService.say("name"));
        verify(actionService, times(1));

    }
}

좋은 웹페이지 즐겨찾기