官术网_书友最值得收藏!

AssertJ

AssertJ works in a similar way to Hamcrest. A major difference is that AssertJ assertions can be concatenated.

To work with AssertJ, the dependency must be added to Gradle's dependencies:

testCompile 'org.assertj:assertj-core:2.0.0' 

Let's compare JUnit asserts with AssertJ:

Assert.assertEquals(5, friendships.getFriendsList("Joe").size()); 
List<String> friendsOfJoe = 
Arrays.asList("Audrey", "Peter", "Michael", "Britney", "Paul");
Assert.assertTrue( friendships.getFriendsList("Joe")
.containsAll (friendsOfJoe) );

The same two asserts can be concatenated to a single one in AssertJ:

assertThat(friendships.getFriendsList("Joe")) 
  .hasSize(5) 
  .containsOnly("Audrey", "Peter", "Michael", "Britney", "Paul");

This was a nice improvement. There was no need to have two separate asserts, nor was there a need to create a new list with expected values. Moreover, AssertJ is more readable and easier to understand.

The complete source code can be found in the FriendshipsAssertJTest class at https://bitbucket.org/vfarcic/tdd-java-ch02-example-junit.

Now that we have the tests up and running, we might want to see what the code coverage is that is generated by our tests.

主站蜘蛛池模板: 夏河县| 抚州市| 绥宁县| 日土县| 留坝县| 长泰县| 桂平市| 白河县| 清水县| 乐亭县| 利辛县| 金寨县| 石林| 阳新县| 余江县| 梅河口市| 安图县| 龙井市| 偃师市| 汕头市| 呼图壁县| 卢氏县| 安西县| 大理市| 甘肃省| 都安| 克东县| 拜泉县| 荃湾区| 石城县| 桐柏县| 日照市| 略阳县| 新营市| 商丘市| 改则县| 阿勒泰市| 凉山| 仪征市| 商洛市| 历史|