java - 获取客户的 JUnit 测试
问题描述
我正在用java创建一个咖啡店应用程序。它有几个类itemClass
,如 ,CustomerClass
和orderClass
。我已经完成了整个应用程序,剩下的就是 JunitTest。我不知道如何在JUnit
测试中创建方法。我需要为我的方法编写单元测试。我遇到了一些麻烦,因为我是 JUnit 的新手。我需要为我创建的对象类型的 getter 方法编写测试。对象类型是UnitInfo,我需要为方法写一个测试。
public class Customer extends JFrame implements ListSelectionListener {
private JPanel contentPane;
private JTextField totBeforeDisText;
private JTextField totAfterDisText;
private JTextField OfferText;
private ItemMap iMap;
private double cost;
private OrderMap oMap;
Item ord;
private Order cOrder;
private String itemid = null;
String split;
JList < String > iList;
JList < String > oList;
String orders[] = {
""
};
ArrayList < String > items;
private JTextField textField;
public Customer(ItemMap iMap, OrderMap oMap) { //ItemMap iMap,OrderMap oMap
this.iMap = iMap;
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(150, 150, 516, 437);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblItems = new JLabel("Menu");
lblItems.setBounds(95, 0, 64, 14);
contentPane.add(lblItems);
JLabel lblCart = new JLabel("Cart");
lblCart.setBounds(393, 0, 42, 14);
contentPane.add(lblCart);
JButton btnDisplay = new JButton("DisplayMenu");
btnDisplay.setBounds(191, 95, 119, 31);
btnDisplay.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//insert in ilist;
items = iMap.getMenu();
String itemlist = "";
DefaultListModel dim = new DefaultListModel();
for (int i = 0; i < items.size(); i++) {
itemlist = items.get(i) + "\n";
System.out.println(itemlist);
dim.addElement(itemlist);
iList.setModel(dim);
}
}
});
btnDisplay.setFont(new Font("Dubai", Font.PLAIN, 13));
contentPane.add(btnDisplay);
cOrder = new Order();
DefaultListModel dim2 = new DefaultListModel();
JButton btnAdd = new JButton("Add");
btnAdd.setBounds(191, 137, 119, 31);
btnAdd.setFont(new Font("Dubai", Font.PLAIN, 13));
contentPane.add(btnAdd);
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//insert in olist;
dim2.addElement(iList.getSelectedValue());
System.out.println(iList.getSelectedValue());
String value = iList.getSelectedValue();
String[] parts = value.split(",");
split = parts[0];
itemid = iMap.getIDFromName(parts[0]);
cost += iMap.getCostItem(itemid);
ord = new Item(itemid, split, iMap.getTypeItem(itemid), iMap.getCostItem(itemid));
cOrder.addToOrder(ord);
totBeforeDisText.setText(String.valueOf(cost));
oList.setModel(dim2);
}
});
JLabel lblTotalBeforeDiscount = new JLabel("Total Before discount");
lblTotalBeforeDiscount.setBounds(152, 301, 129, 14);
contentPane.add(lblTotalBeforeDiscount);
totBeforeDisText = new JTextField();
totBeforeDisText.setEditable(false);
totBeforeDisText.setBounds(291, 298, 102, 20);
contentPane.add(totBeforeDisText);
totBeforeDisText.setColumns(10);
JLabel lblTotalAfterDiscount = new JLabel("Total After Discount");
lblTotalAfterDiscount.setBounds(152, 332, 136, 14);
contentPane.add(lblTotalAfterDiscount);
totAfterDisText = new JTextField();
totAfterDisText.setEditable(false);
totAfterDisText.setBounds(291, 329, 102, 20);
contentPane.add(totAfterDisText);
totAfterDisText.setColumns(10);
JButton btnNewButton_1 = new JButton("Bill");
btnNewButton_1.setBounds(406, 301, 94, 77);
btnNewButton_1.setFont(new Font("Dubai", Font.PLAIN, 13));
contentPane.add(btnNewButton_1);
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
oMap.addOrder(cOrder);
System.out.println(cOrder.getTotalCost() + "final bill");
totAfterDisText.setText(String.valueOf(cOrder.getTotalCost()));
OfferText.setText(String.valueOf(cOrder.getOfferName()));
}
});
JLabel lblOfferApplied = new JLabel("Offer Applied");
lblOfferApplied.setBounds(152, 364, 104, 14);
contentPane.add(lblOfferApplied);
OfferText = new JTextField();
OfferText.setEditable(false);
OfferText.setBounds(291, 358, 102, 20);
contentPane.add(OfferText);
OfferText.setColumns(10);
iList = new JList();
iList.setBounds(39, 25, 142, 244);
contentPane.add(iList);
iList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
iList.addListSelectionListener(this);
oList = new JList();
oList.setBounds(339, 25, 142, 244);
contentPane.add(oList);
oList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
textField = new JTextField();
textField.setFont(new Font("Tahoma", Font.PLAIN, 10));
textField.setBounds(39, 280, 156, 20);
contentPane.add(textField);
textField.setColumns(10);
oList.addListSelectionListener(this);
}
}
如果将此类转换为单元测试,我将不胜感激。
解决方案
推荐阅读
- java - 用于 Angular-Java 应用程序的 Docker:端口未正确公开
- python - 这段代码的时间、空间复杂度是多少?
- latex - 从 JabRef 中的 DOI 字段自动填充 URL 字段
- regex - 两个单词正则表达式之间的 awk 空格
- list - 使用字符串和整数遍历元组列表
- google-cloud-platform - 如何将 SSH 密钥与 Google Compute Engine 关联?
- javascript - 在 div 中向下滚动时导致箭头淡出
- amazon-web-services - AWS 弹性 beanstalk、api 和子域。如何将我的后端 api 设置为前端 url 的子域并保护它?
- php - 在 macOS 上配置 Wordpress + mysql 8.0x + nginx 时出现“建立数据库连接时出错”
- python - 在不和谐中创建一个只有特定角色才能加入和输入的权限的类别