当前位置: 首页 > news >正文

建设银行北海市分行网站昆明专业做网站多少钱

建设银行北海市分行网站,昆明专业做网站多少钱,网赌代理,网站建设找什么工作室mockito java我们都编写了单元测试#xff0c;但是有时我们面临的挑战是被测单元可能依赖于其他组件。 并且配置其他组件进行单元测试绝对是一个过大的选择。 相反#xff0c;我们可以使用Mocks代替其他组件#xff0c;并继续进行单元测试。 为了说明如何使用模拟#xff… mockito java 我们都编写了单元测试但是有时我们面临的挑战是被测单元可能依赖于其他组件。 并且配置其他组件进行单元测试绝对是一个过大的选择。 相反我们可以使用Mocks代替其他组件并继续进行单元测试。 为了说明如何使用模拟我有一个数据访问层DAL基本上是一个类为应用程序提供API以供应用程序访问和修改数据存储库中的数据。 然后我对DAL进行单元测试而实际上无需连接到数据存储库。 数据存储库可以是本地数据库或远程数据库也可以是文件系统也可以是我们可以存储和检索数据的任何位置。 DAL类的使用有助于我们将数据映射器与应用程序代码分开。 让我们使用maven创建一个Java项目。 mvn archetype:generate -DgroupIdinfo.sanaulla -DartifactIdMockitoDemo -DarchetypeArtifactIdmaven-archetype-quickstart -DinteractiveModefalse 上面创建了一个文件夹MockitoDemo然后为源文件和测试文件创建了整个目录结构。 考虑此示例的以下模型类 package info.sanaulla.models;import java.util.List;/** * Model class for the book details. */ public class Book {private String isbn;private String title;private ListString authors;private String publication;private Integer yearOfPublication;private Integer numberOfPages;private String image;public Book(String isbn,String title,ListString authors,String publication,Integer yearOfPublication,Integer numberOfPages,String image){this.isbn isbn;this.title title;this.authors authors;this.publication publication;this.yearOfPublication yearOfPublication;this.numberOfPages numberOfPages;this.image image;}public String getIsbn() {return isbn;}public String getTitle() {return title;}public ListString getAuthors() {return authors;}public String getPublication() {return publication;}public Integer getYearOfPublication() {return yearOfPublication;}public Integer getNumberOfPages() {return numberOfPages;}public String getImage() {return image;} } 用于对Book模型类进行操作的DAL类为 package info.sanaulla.dal;import info.sanaulla.models.Book;import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List;/** * API layer for persisting and retrieving the Book objects. */ public class BookDAL {private static BookDAL bookDAL new BookDAL();public ListBook getAllBooks(){return Collections.EMPTY_LIST;}public Book getBook(String isbn){return null;}public String addBook(Book book){return book.getIsbn();}public String updateBook(Book book){return book.getIsbn();}public static BookDAL getInstance(){return bookDAL;} } 上面的DAL层目前没有任何功能我们将对该代码段 TDD 进行单元测试。 DAL层可能与我们在设计API时不关心的ORM映射器或数据库API通信。 测试DAL层 Java中有许多用于单元测试和模拟的框架但是对于这个示例我将选择JUnit用于单元测试选择Mockito用于模拟 。 我们将不得不更新Maven的pom.xml中的依赖项 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdinfo.sanaulla/groupIdartifactIdMockitoDemo/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/versionnameMockitoDemo/nameurlhttp://maven.apache.org/urldependencies!-- Dependency for JUnit --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.10/versionscopetest/scope/dependency!-- Dependency for Mockito --dependencygroupIdorg.mockito/groupIdartifactIdmockito-all/artifactIdversion1.9.5/versionscopetest/scope/dependency/dependencies /project 现在让单元测试BookDAL 。 在单元测试期间我们会将模拟数据注入BookDAL中以便我们无需依赖数据源即可完成API的测试。 最初我们将有一个空的测试类 public class BookDALTest {public void setUp() throws Exception {}public void testGetAllBooks() throws Exception {}public void testGetBook() throws Exception {}public void testAddBook() throws Exception {}public void testUpdateBook() throws Exception {} } 我们将把模拟的BookDAL和模拟的数据注入到setUp() 如下所示 public class BookDALTest {private static BookDAL mockedBookDAL;private static Book book1;private static Book book2;BeforeClasspublic static void setUp(){//Create mock object of BookDALmockedBookDAL mock(BookDAL.class);//Create few instances of Book class.book1 new Book(8131721019,Compilers Principles,Arrays.asList(D. Jeffrey Ulman,Ravi Sethi, Alfred V. Aho, Monica S. Lam),Pearson Education Singapore Pte Ltd, 2008,1009,BOOK_IMAGE);book2 new Book(9788183331630,Let Us C 13th Edition,Arrays.asList(Yashavant Kanetkar),BPB PUBLICATIONS, 2012,675,BOOK_IMAGE);//Stubbing the methods of mocked BookDAL with mocked data. when(mockedBookDAL.getAllBooks()).thenReturn(Arrays.asList(book1, book2));when(mockedBookDAL.getBook(8131721019)).thenReturn(book1);when(mockedBookDAL.addBook(book1)).thenReturn(book1.getIsbn());when(mockedBookDAL.updateBook(book1)).thenReturn(book1.getIsbn());}public void testGetAllBooks() throws Exception {}public void testGetBook() throws Exception {}public void testAddBook() throws Exception {}public void testUpdateBook() throws Exception {} } 在上面的setUp()方法中我有 创建了BookDAL的模拟对象 BookDAL mockedBookDAL mock(BookDAL.class); 在BookDAL的API中添加模拟数据以便在调用API时返回模拟数据。 //When getAllBooks() is invoked then return the given data and so on for the other methods. when(mockedBookDAL.getAllBooks()).thenReturn(Arrays.asList(book1, book2)); when(mockedBookDAL.getBook(8131721019)).thenReturn(book1); when(mockedBookDAL.addBook(book1)).thenReturn(book1.getIsbn()); when(mockedBookDAL.updateBook(book1)).thenReturn(book1.getIsbn()); 填充其余的测试我们得到 package info.sanaulla.dal;import info.sanaulla.models.Book; import org.junit.BeforeClass; import org.junit.Test;import static org.junit.Assert.*; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when;import java.util.Arrays; import java.util.List;public class BookDALTest {private static BookDAL mockedBookDAL;private static Book book1;private static Book book2;BeforeClasspublic static void setUp(){mockedBookDAL mock(BookDAL.class);book1 new Book(8131721019,Compilers Principles,Arrays.asList(D. Jeffrey Ulman,Ravi Sethi, Alfred V. Aho, Monica S. Lam),Pearson Education Singapore Pte Ltd, 2008,1009,BOOK_IMAGE);book2 new Book(9788183331630,Let Us C 13th Edition,Arrays.asList(Yashavant Kanetkar),BPB PUBLICATIONS, 2012,675,BOOK_IMAGE);when(mockedBookDAL.getAllBooks()).thenReturn(Arrays.asList(book1, book2));when(mockedBookDAL.getBook(8131721019)).thenReturn(book1);when(mockedBookDAL.addBook(book1)).thenReturn(book1.getIsbn());when(mockedBookDAL.updateBook(book1)).thenReturn(book1.getIsbn());}Testpublic void testGetAllBooks() throws Exception {ListBook allBooks mockedBookDAL.getAllBooks();assertEquals(2, allBooks.size());Book myBook allBooks.get(0);assertEquals(8131721019, myBook.getIsbn());assertEquals(Compilers Principles, myBook.getTitle());assertEquals(4, myBook.getAuthors().size());assertEquals((Integer)2008, myBook.getYearOfPublication());assertEquals((Integer) 1009, myBook.getNumberOfPages());assertEquals(Pearson Education Singapore Pte Ltd, myBook.getPublication());assertEquals(BOOK_IMAGE, myBook.getImage());}Testpublic void testGetBook(){String isbn 8131721019;Book myBook mockedBookDAL.getBook(isbn);assertNotNull(myBook);assertEquals(isbn, myBook.getIsbn());assertEquals(Compilers Principles, myBook.getTitle());assertEquals(4, myBook.getAuthors().size());assertEquals(Pearson Education Singapore Pte Ltd, myBook.getPublication());assertEquals((Integer)2008, myBook.getYearOfPublication());assertEquals((Integer)1009, myBook.getNumberOfPages());}Testpublic void testAddBook(){String isbn mockedBookDAL.addBook(book1);assertNotNull(isbn);assertEquals(book1.getIsbn(), isbn);}Testpublic void testUpdateBook(){String isbn mockedBookDAL.updateBook(book1);assertNotNull(isbn);assertEquals(book1.getIsbn(), isbn);} } 可以使用maven命令运行测试 mvn test 。 输出为 -------------------------------------------------------T E S T S ------------------------------------------------------- Running info.sanaulla.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 sec Running info.sanaulla.dal.BookDALTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.209 secResults :Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 因此我们能够测试DAL类而无需通过使用模拟程序实际配置数据源。 参考来自Experiences Unlimited博客的JCG合作伙伴 Mohamed Sanaulla的Mockito 使用Java进行Mocking入门 。 翻译自: https://www.javacodegeeks.com/2014/02/getting-started-with-mocking-in-java-using-mockito.htmlmockito java
http://www.pierceye.com/news/396527/

相关文章:

  • 石家庄做网站公司汉狮价格猴痘的治疗方法
  • 自己有网站 做app吗深圳罗湖企业网站推广
  • 廊坊建设局网站6阿里云虚拟主机网站
  • 设计一个电商网站西安seo盐城
  • 上海网站公司建设网页设计网站欣赏
  • 平台网站如何做推广1280的界面网站做多宽
  • 男男做爰视频网站微信扫码点餐小程序怎么做
  • 哈尔滨做网站的价格如何利用wordpress搭建一个发卡网
  • 商会建设网站说明网站建设属于技术活吗
  • 免费申请手机网站公司画册模板免费下载
  • 网站建设策划做一个卖货的app要多少钱
  • 泉州网站平台建设公司网站服务器出错了怎么办
  • 佛山网站设计专业手机网站模板设计软件
  • 顺德网站优化公司wordpress 去广告
  • 自己建企业网站怎么建免费大数据查询
  • 短视频素材免费下载网站江西省城乡建设厅网站
  • 西安做网站公司工资wordpress 导航 分类
  • 网站建设免费教程网页设计图片高清
  • 网站后台源代码东直门小学的网站建设
  • 无锡建设局评职称网站分析 网站
  • 宜昌需要做网站建设的公司python做调查问卷网站
  • 乐陵森大最好的seo优化公司
  • php网站开发实施方案福建建筑信息平台
  • 怎么写公司网站的文案建设网站技术公司简介
  • 陕西做网站的wordpress增加变量
  • 莒南县建设工程网站网站认证方式有几种
  • 举报网站建设自查报告相同网站名
  • 网站建设网站建设公司北京logo设计制作
  • 福州市交通建设集团有限公司 网站全国国家公示系统官网
  • 郑州网站建设蝶动2023年专升本最新政策