안녕하세요, 저는이 테스트를 위해 Junit 테스트 케이스를 작성하려고합니다. 테스트 케이스에서 assertrue (....)를 잡으려고 여기에 아무것도 반환하지 않기 때문입니다. SendMailTLS는 mysql에서 이메일 ids 가져 오기 메일을 보내는 별도의 클래스 (메인없이)입니다 .Updates는 웹 사이트에서 값을 가져 와서 mysql에 저장하는 별도의 클래스입니다. 내가 asserttrue/assertequals 내가 프로그램을 실행하는 경우에도 계속 Thread.sleep(1000 * 60 * 1);
주석. 이 경우 어떻게 테스트 할 수 있습니까? 제안은 감사하겠습니다.스레드에 대한 Junit4 테스트 케이스
public class Scheduler implements Runnable {
public void run() {
while(true)
{
SendMailTLS mail= new SendMailTLS();
Updates Employee= new Updates();
try {
mail.Mail();
Employee.update();
Thread.sleep(1000 * 60 * 1);
}
catch{
//catch code here
}
System.out.println("Scheduler Task Complete");
}
}
public static void main(String args[]) {
(new Thread(new Scheduler())).start();
}
}
ur 제안 해 주셔서 감사합니다. 클래스 메일과 업데이트를 별도로 확인한다고 말하면서 모든 전자 메일 + 업데이트 + 스레드를 실행할 수있는 단일 테스트 케이스가 필요하다고 추측합니다. 이메일 질문이 없습니다. SendMailTLS 클래스는 아무 것도 반환하지 않습니다. 보내는 임시 변수를 만들고 1로 설정하고 해당 변수가 1인지 아닌지를 테스트 케이스에서 확인합니다. 업데이트 클래스에 대해 동일한 계획을 세우려고합니다. 여기 코드 커버리지를 최대로 유지하기 만하면됩니다. D. 내 기능 대부분은 괜찮습니다. – HkFreaKuser1673718