首页 > 解决方案 > 获取客户的 JUnit 测试

问题描述

我正在用java创建一个咖啡店应用程序。它有几个类itemClass,如 ,CustomerClassorderClass。我已经完成了整个应用程序,剩下的就是 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);
    }
}

如果将此类转换为单元测试,我将不胜感激。

标签: javajunit

解决方案


推荐阅读