如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项
對于當今的大多數Java項目,JUnit本身還遠遠不夠。 您還需要一個模擬庫,也許還有其他東西。 在此迷你操作指南中,我介紹了可以在新的Java項目中開始的測試依賴項。
一切都始于JUnit
Maven存儲庫中的junit組中有兩個工件: junit和junit-dep 。 在4.9版之前,后者不包含對內聯的Hamcrest的依賴。 今天,我們使用junit依賴關系如下:
dependency:tree產生:
[INFO] \- junit:junit:jar:4.11:test [INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test莫基托
我們通常需要的下一個依賴關系是一個模擬框架。 毫無疑問, Mockito是最受歡迎的游戲之一。 它有兩個好處: mockito-all和mockito-core 。 第一個是將所有依賴項內聯到其中的單個jar,而后者只是Mockito。 建議將mockito-core與JUnit版本4.11一起使用。 因此,我們添加依賴項:
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>1.9.5</version><scope>test</scope> </dependency>現在, dependency:tree產生:
[INFO] +- junit:junit:jar:4.11:test [INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test [INFO] \- org.mockito:mockito-core:jar:1.9.5:test [INFO] \- org.objenesis:objenesis:jar:1.0:testHamcrest
知道mockito-core更適合于聲明式依賴性管理,因此我們將重寫對Hamcrest和Objenesis的依賴性,如下所示:
<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope> </dependency><dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope> </dependency>有了這個,我們可以輕松地添加Hamcrest庫,該庫提供了一個依賴對象的依賴項庫:
<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope> </dependency><dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope> </dependency>并且dependency:tree產生:
[INFO] +- junit:junit:jar:4.11:test [INFO] +- org.mockito:mockito-core:jar:1.9.5:test [INFO] +- org.hamcrest:hamcrest-core:jar:1.3:test [INFO] +- org.hamcrest:hamcrest-library:jar:1.3:test [INFO] \- org.objenesis:objenesis:jar:1.3:test斷言
AssertJ – Java的流暢斷言–提供了一組豐富且直觀的強類型斷言,可用于單元測試。 AssertJ是FEST Assert的一個分支,我前一段時間在這篇文章中寫過。 那依賴性呢? 讓我們來看看:
<dependency><groupId>org.assertj</groupId><artifactId>assertj-core</artifactId><version>1.5.0</version><scope>test</scope> </dependency>結果如下樹:
[INFO] +- junit:junit:jar:4.11:test [INFO] +- org.mockito:mockito-core:jar:1.9.5:test [INFO] +- org.assertj:assertj-core:jar:1.5.0:test [INFO] +- org.hamcrest:hamcrest-core:jar:1.3:test [INFO] +- org.hamcrest:hamcrest-library:jar:1.3:test [INFO] \- org.objenesis:objenesis:jar:1.3:test最終剪輯
完整的Maven結構如下所示:
<!-- Test --> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope> </dependency> <dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>1.9.5</version><scope>test</scope> </dependency> <dependency><groupId>org.assertj</groupId><artifactId>assertj-core</artifactId><version>1.5.0</version><scope>test</scope> </dependency> <dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope> </dependency> <dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-library</artifactId><version>1.3</version><scope>test</scope> </dependency> <dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope> </dependency>- 您可以在GitHub上的unit-testing-demo項目中找到此鏈接(鏈接到pom.xml ),也可以嘗試我的spring-mvc-quickstart-archetype (鏈接到pom.xml )。
翻譯自: https://www.javacodegeeks.com/2014/03/how-to-test-dependencies-in-a-maven-project-junit-mockito-hamcrest-assertj.html
總結
以上是生活随笔為你收集整理的如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑自动播放功能(电脑自动播放功能怎么设
- 下一篇: 电脑服务怎么设置密码(电脑服务密码是什么