java单元测试代码-广州市单元信息科技有限公司java
发布时间:2023-02-08 11:27 浏览次数:次 作者:佚名
本文主要介绍Java mockito单元测试实现过程的分析。 示例代码介绍的很详细。 对大家的学习或者工作都有一定的参考学习价值。 需要的朋友可以参考以下
待测服务接口:
public interface ItemService { String getItemNameUpperCase(String itemId); }
预览
待测服务的实现类:
@Service public class ItemServiceImpl implements ItemService { @Resource private ItemRepository itemRepository; @Override public String getItemNameUpperCase(String itemId) { Item item =编程客栈 itemRepository.findById(itemId); if (item == nullwww.cppcns.com) { return null; } return item.getName().toUpperCase(); } } // 测试用例 import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.*; public class ItemServiceTest { @Mock private ItemRepository itemRepository; @InjectMocks private ItemServiceImpl itemService; @Before public void setUp(){ MockitoAnnotations.initMocks(this); } /** * 编程客栈如果从存储层查询到一个Item, 那么它的 name 将被转化为大写. */ @Test public void shouldReturnItemNameInUpperCase() { // Given Item mockedItem = new Item("it1", "Item 1", "This is item 1", 2000, true); when(itemRepository.findById("it1")).thenReturn(mockedItem); // When String result = itemService.getItemNameUpperCase("it1"); // Then verify(itemRepository, times(1)).findById("it1"); assertThat(result).isEqualTojOLMnow("ITEM 1"); } }
Mockito更高级的用法java单元测试代码,请参考官网和支持wiki的框架。 如果需要mock静态方法、私有函数等,可以学习PowerMockjava单元测试代码,拉取其源码,学习单元测试,快速掌握其用法。
以上就是本文的全部内容。 希望对您的学习有所帮助,也希望您多多支持。
本文标题:Java mockito单元测试实现过程分析