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

Unit-testing frameworks

In this section, two of the most used Java frameworks for unit testing are shown and briefly commented on. We will focus on their syntax and main features by comparing a test class written using both JUnit and TestNG. Although there are slight differences, both frameworks offer the most commonly used functionalities, and the main difference is how tests are executed and organized.

Let's start with a question. What is a test? How can we define it?

A test is a repeatable process or method that verifies the correct behavior of a tested target in a determined situation with a determined input expecting a predefined output or interactions.

In the programming approach, there are several types of tests depending on their scope—functional tests, acceptance tests, and unit tests. Further on, we will explore each of those types of tests in more detail.

Unit testing is about testing small pieces of code. Let's see how to test a single Java class. The class is quite simple, but enough for our interest:

public class Friendships { 
  private final Map<String, List<String>> friendships = 
new HashMap<>(); public void makeFriends(String person1, String person2) { addFriend(person1, person2); addFriend(person2, person1); } public List<String> getFriendsList(String person) { if (!friendships.containsKey(person)) { return Collections.emptyList(); } return friendships.get(person) } public boolean areFriends(String person1, String person2) { return friendships.containsKey(person1) && friendships.get(person1).contains(person2); } private void addFriend(String person, String friend) { if (!friendships.containsKey(person)) { friendships.put(person, new ArrayList<String>()); } List<String> friends = friendships.get(person); if (!friends.contains(friend)) { friends.add(friend); } } }
主站蜘蛛池模板: 广州市| 雷山县| 汕尾市| 北海市| 临湘市| 繁昌县| 伊通| 周口市| 安图县| 确山县| 府谷县| 广灵县| 讷河市| 樟树市| 全州县| 丽水市| 会东县| 双桥区| 丹棱县| 岳池县| 张家界市| 正蓝旗| 游戏| 沽源县| 台中市| 新宾| 屏山县| 青冈县| 大厂| 玉门市| 天镇县| 乐业县| 鄂伦春自治旗| 大连市| 涟源市| 通州区| 宣武区| 成都市| 胶州市| 大港区| 石台县|