Как протестировать геттеры и сеттеры в Java - PullRequest
0 голосов
/ 07 мая 2020

Итак, я работаю над заданием по кодированию и зашел в тупик. Вот отзывы, которые я получил от своего профессора, а потом я прикреплю код, над которым я работал, и дополнительно объясню проблему:

Спасибо за обращение. Выглядит хорошо! Единственное, что я бы посоветовал, - это добавить высокоуровневые комментарии по всему вашему коду и протестировать методы set () для объектов Team в вашей программе MainTeamClass. java, чтобы гарантировать, что методы мутатора set () работают должным образом. Вызовите метод set () с тестовым значением, а затем вызовите метод get (), чтобы убедиться, что это то же самое значение.

Вот копия кода:

  public class Team 
  {

   private String team;   
   private int points;   
   private double average;

   public Team()   
   {
     team = " Default";   
   }   
   public Team(String startTeam, int startPoints, double startAverage)   
   {
     team = startTeam;
     points = startPoints;
     average = startAverage;   
   }   

   public String getTeam()   
   {
     return team;   
   }   
   public int getPoints()   
   {
     return points;   
   }   
   public double getAverage()   
   {
     return average;   
   }   
   public void setTeam(String newTeam)   
   {
     team = newTeam;   
   }   
   public void setPoints(int newPoints)   
   {
     if (newPoints >= 0)
     {
       points = newPoints;
     }   
   }   
   public void setAverage(double newAverage)   
     {
     if (newAverage >= 0.0)
     {
       average = newAverage;
     }   
  } 
}

И основной класс:

 public class MainTeamClass {   public static void main(String[] args) 
 {
     Team sanfran = new Team();
     String sanfranTeam = sanfran.getTeam();
     int sanfranPoints = sanfran.getPoints();
     double sanfranAverage = sanfran.getAverage();
     System.out.println(" The team name is:" + sanfran.getTeam()
      + "\n The number of points earned equals " + sanfran.getPoints()
      + "\n The average season score is:" + sanfran.getAverage());

     Team cowboys = new Team("Dallas Cowboys", 36, 43.5);
     String cowboysTeam = cowboys.getTeam();
     int cowboysPoints = cowboys.getPoints();
     double cowboysAverage = cowboys.getAverage();
     System.out.println("\n The team name is: " + cowboys.getTeam()
     + "\n The number of points earned equals " + cowboys.getPoints()
     + "\n The average season score is: " + cowboys.getAverage());   } }

Основываясь на этом коде, как бы я мог go протестировать метод set () и получить () метод? Может ли кто-нибудь объяснить, как это сделать, а также привести пример? Этого не было в главе на этой неделе в классе, и я поискал в Интернете некоторую помощь, но безрезультатно, поэтому я был бы признателен за как можно больше отзывов. Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 07 мая 2020

"Вызовите метод set () с тестовым значением, а затем вызовите метод get (), чтобы убедиться, что это то же самое значение." : означает, что значение, переданное в set метод - это то же значение, которое должно быть возвращено из метода get, примерно так:

Team team = new Team ();
String test = "stringForTest";
team.setTeam(test);
if(!team.getTeam().equals(test)) {
    System.out.println("Problem with set/get method!");
}
0 голосов
/ 07 мая 2020

Вы можете использовать разные методы, один из них assertion и запускать с использованием java -ea <program_name> включить утверждение

public class MainTeamClass {  
   public static void main(String[] args) {     
     Team cowboys = new Team();

     cowboys.setTeam("Dallas Cowboys");
     String cowboysTeam = cowboys.getTeam();
     assert cowboysTeam == "Dallas Cowboys" : "cowboysTeam Not valid";

     cowboys.setPoints(36);
     int cowboysPoints = cowboys.getPoints();
     assert cowboysPoints == 36 : "cowboysPoints Not valid";

     cowboys.setAverage(43.5);
     double cowboysAverage = cowboys.getAverage();
     assert cowboysAverage == 43.5 : "cowboysAverage Not valid";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...