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

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); } } }
主站蜘蛛池模板: 永兴县| 安龙县| 长宁区| 上犹县| 申扎县| 郁南县| 阳谷县| 黑河市| 泾源县| 兴山县| 阳高县| 水富县| 来安县| 房产| 武威市| 南充市| 肃宁县| 巴青县| 梁山县| 巴林右旗| 新河县| 绍兴市| 新和县| 贵州省| 开鲁县| 绩溪县| 琼海市| 航空| 宜兰县| 高阳县| 通河县| 文安县| 清苑县| 澎湖县| 历史| 民丰县| 和平县| 双江| 保亭| 安多县| 嵊州市|