gpt4 book ai didi

java - 我如何使用 JUnit 测试 void actionEvent 中的信息

转载 作者:行者123 更新时间:2023-12-04 08:58:36 25 4
gpt4 key购买 nike

我正在尝试从 void actionEvent 内部获取信息,以便我可以将其用于 JUnit 测试(第一次尝试使用 JUnit )。但我不知道如何做到这一点。如果有人可以提供一些指导,我将不胜感激。
下面是我的代码。 (这段代码只是为了与 JUnit 一起测试,我知道它的垃圾酱。

import java.awt.Container;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.net.UnknownHostException;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;


public class frameIt extends JFrame implements ActionListener {

Container cont = getContentPane();
JLabel uL = new JLabel("USER");
JLabel pL = new JLabel("PASS");
JTextField userT1 = new JTextField();
JPasswordField pass1 = new JPasswordField();
JButton logButt = new JButton("LOGIN");
JButton reButt = new JButton("RESET");



frameIt() {

cont.setLayout(null);

uL.setBounds(20, 50, 50, 20);
pL.setBounds(20, 80, 50, 20);
userT1.setBounds(70, 50, 100, 30);
pass1.setBounds(70, 80, 100, 30);
logButt.setBounds(70, 100, 100, 30);
reButt.setBounds(70, 130, 100, 30);

cont.add(logButt);
cont.add(reButt);
cont.add(uL);
cont.add(pL);
cont.add(userT1);
cont.add(pass1);

logButt.addActionListener(this);
reButt.addActionListener(this);

}

//auditing
public String theLog(String user, String eventType) throws UnknownHostException {
//UTC date and time string
OffsetDateTime dateTimeUTC = OffsetDateTime.now(ZoneOffset.UTC);

// create date and time string
Date dateTimeLocal = Date.from(dateTimeUTC.toInstant());

// create filewriter, bufferedwriter, and printwriter
FileWriter FWrite = null;
BufferedWriter buffWrite = null;
PrintWriter printerWrite = null;

// try block
try {
// create file
File logFile = new File("Log.log");

// check if file already exists
// if file does not exist then create it
if (!logFile.exists()) {
logFile.createNewFile();
}

//filewriter, bufferedwriter, and printwriter
FWrite = new FileWriter(logFile, true);
buffWrite = new BufferedWriter(FWrite);
printerWrite = new PrintWriter(buffWrite);

//printwriter

printerWrite.println("----------------------");
printerWrite.println("UTC Date/Time: " + dateTimeUTC);
printerWrite.println("Local Date/Time: " + dateTimeLocal);
printerWrite.println("User name: " + user);
printerWrite.println("Event type: " + eventType);
printerWrite.println("----------------------");
printerWrite.println("");

}
// catch block

catch (IOException e) {
System.out.println("Sorry, there was an error.");
} finally {

// printwriter
printerWrite.close();
}

return null;
}



public void actionPerformed(ActionEvent aE) {



if (aE.getSource() == reButt) {
userT1.setText("");
pass1.setText("");

}

if (aE.getSource() == logButt) {

String userText = userT1.getText();
String pwdText = String.valueOf(pass1.getPassword());

try {

if (userText.equals("admin") && pwdText.equals("admin")) {
theLog(userText, "Good Login");
JOptionPane.showMessageDialog(this, "Login Correct");
} else {
JOptionPane.showMessageDialog(this, "try again");
theLog(userText, "Failed Login");
}

}

catch (IOException ex) {
Logger.getLogger(frameIt.class.getName()).log(Level.SEVERE, null, ex);

}





}
}

public static void main(String[] args) {
//calling frameIt.java
frameIt frame = new frameIt();
//title
frame.setTitle("Sign on Forever");
//Want to see it? this is how!
frame.setVisible(true);
//Window size
frame.setBounds(15, 15, 300, 300);
//exits
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

最佳答案

关于java - 我如何使用 JUnit 测试 void actionEvent 中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63664482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com