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

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.

主站蜘蛛池模板: 盖州市| 嘉义市| 永川市| 航空| 松江区| 满洲里市| 阳曲县| 和静县| 平和县| 泊头市| 澄江县| 全南县| 山阴县| 调兵山市| 江口县| 铜鼓县| 屏边| 开平市| 威宁| 奉化市| 什邡市| 宣武区| 竹溪县| 石河子市| 右玉县| 满城县| 吕梁市| 托克逊县| 香格里拉县| 胶南市| 黄石市| 日喀则市| 布尔津县| 本溪| 阜康市| 武汉市| 北安市| 客服| 稻城县| 揭西县| 湖口县|