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

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); } } }
主站蜘蛛池模板: 枣庄市| 江都市| 龙胜| 临颍县| 普陀区| 兰坪| 神木县| 来安县| 贵港市| 霍林郭勒市| 大庆市| 屯昌县| 康保县| 遂川县| 崇仁县| 阳东县| 肃南| 正镶白旗| 雷州市| 丰原市| 天全县| 陆良县| 贺兰县| 孟村| 华安县| 朝阳区| 阿坝| 两当县| 台江县| 衡阳县| 新密市| 响水县| 镶黄旗| 涞源县| 清河县| 新安县| 宁武县| 英吉沙县| 砚山县| 宁德市| 壤塘县|