如何在我的测试用例中处理用户指定的异常

时间:2015-03-01 20:09:59

标签: java exception arraylist exception-handling throws

我之前写过一个由7个班级组成的完整成功的程序(DateAddressTimeCustomerCourseInClassCourseOnLineCourse),接口(Invoice),当然还有测试类(CustomerTest)。接口Invoice有一个方法createInvoice,它在Customer类中实现。在测试案例中,我创建了3个新客户,添加了他们各自的课程,然后根据他们注册的课程数量,他们注册的课程类型以及课程是否为{{1}来计算他们的学费。 }或InClassCourse,最后在对话框中打印出信息。客户和课程列表保存在两个单独的数组列表中:

OnLineCourse

使用增强的for循环,我以多态方式遍历ArrayList<Customer> customerList = new ArrayList<Customer>(); ArrayList<Course> courseList = new ArrayList<Course>(); 并为每个客户创建了发票。 我现在写了一个额外的课程customerList,其中包含一个新的客户和课程列表,它将客户数据写入文件 customers.txt ,课程数据写入文件 courses.txt 即可。 CreateFiles有一个方法CreateFileswriteCustomers

我不熟悉异常并且还在学习。要修改我的程序,我想添加一个名为writeCourses的用户指定的异常。如果客户的列表中没有任何课程(我的几个客户未参加任何课程),CustomerNotEnrolledException课程中的createInvoice方法将抛出Customer,然后处理此问题我的测试类中的异常。

我的问题是如果客户没有参加任何课程,我如何在主要处理我的例外,即如何编写试用版块。我需要这样做,因为之后我已经取消了未注册的客户,我将在测试用例中添加方法CustomerNotEnrolledExceptionreadCustomersreadCourses,并使用它们来阅读 customers.txt file和 courses.txt 文件,以创建客户并将其添加到generateInvoice,以及创建将添加到各自客户的课程。

我已经创建了一个名为CustomerNotEnrolledException的异常类,它扩展了异常:

customerList

createInvoice方法如下所示:

  public class CustomerNotEnrolledException extends Exception
  {
      public CustomerNotEnrolledException()
      {
         super("Customer not enrolled");
      }

0 个答案:

没有答案