프로그래밍/자바(java) 융합개발자 2차

[자바] 21.02.05 JUnit, assertEquals, path 잡기

aSpring 2021. 2. 5. 15:05
728x90
728x90

Test해야 할 내용이 있다면

@Test 어노테이션을 이용해서 테스트 가능

 

Calculator.java

package com.test;

import static org.junit.Assert.assertEquals;

public class Calculator {
	public int sum(int a, int b) {
		return a+b;
	}
}

 

CalculatorTest.java

package com.test;

import static org.junit.Assert.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalculatorTest { 
	//하나의 단위 테스트를 실행 : 가장 먼저 실행 -> BeforeClass > Before1 > 테스트 > After > Before > 테스트2 > After > AfterClass
	//하나의 테스트가 수행되기 전 : Before 실행, 후 After 실행
	
	@Test //어노테이션 -> Test라는 함수를 수행하면 아래가 실행 됨
	public void testSum() { //sum함수 테스트1 -> 3
		Calculator cal = new Calculator();
		assertEquals(30, cal.sum(10,20));
		System.out.println("test1");
	}
	@Test
	public void testSum1() {//sum함수 테스트2
		Calculator cal = new Calculator();
		assertEquals(60, cal.sum(50, 10));
		System.out.println("test2");
	}
	@Test
	public void testSub() {
		Calculator cal = new Calculator();
		assertEquals(40, cal.sub(50,10));
		System.out.println("test3");
	}
	@BeforeClass
	public static void beforeTest() { //1. 가장 먼저 실행됨
		System.out.println("BeforeClass");
	}
	@AfterClass
	public static void afterTest() {
		System.out.println("AfterClass");
	}
	@Before
	public void setUp() { //static은 하나만 만들어져야 하는데 아래도 static이 있으므로 지움! -> 2. 하나의 테스트가 실행되기 전 Before 실행됨
		System.out.println("Before");
	}
	@After
	public void setAfter() {
		System.out.println("After");
	}
}

 

BeforeClass
Before
test3
After
Before
test1
After
Before
test2
After
AfterClass

 

제대로 실행되는지 확인 가능!

 

 

Driver 잡기

DBConnectionTest.java

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.Test;

public class DBConnectionTest {
	private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
	private static final String URL = "jdbc:oracle:thin:@localhost:1521:xe";
	private static final String USER = "hr";
	private static final String PW = "hr";
	@Test //이게 빠지면 Test안 됨
	public void testConnection() {
		try {
			Class.forName(DRIVER);
			Connection con = DriverManager.getConnection(URL, USER, PW);
			System.out.println(con); //연결 됐는지 확인 -> 작업 전 driver가 있는지 먼저 test
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	@Test
	public void test() throws ClassNotFoundException {
		Class.forName(DRIVER);
		try(Connection con = DriverManager.getConnection(URL, USER, PW)) {
			System.out.println(con);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

빨간색으로 오류가 나면 ojdbc 연결

 

Exam.java

package com.test;

public class Exam {

	public static void main(String[] args) {
		System.out.println("test");
	}
}

 

eclipse가 아닌 메모장에서 작성

 

이클립스 -> 클래스명 생성 시 파일 만들어짐

메모장 -> 저장 시 클래스 이름과 파일명 동일하게 저장해야 함

Test.java로 저장하되 파일 형식은 모든 파일로 해줘야 확장자가 .txt로 되지 않음

 

cmd > 

cd.. : 상위로 올라가는 것

cd : 내려가는 것

dir : 내용을 보겠다

 

방금 만든 tmp 폴더 안에 Test.java가 있는 것을 할 수 있음

 

이클립스가 아닌 곳에서 만들면 어떻게 실행시키고 컴파일 시키는지 볼 것

- 이클립스 : 실행 시키면 알아서 컴파일 시킴 -> .class 파일 만들어짐

- 메모장에서 만들 Test.java는 클래스가 만들어지지 않음

 

javac 클래스 만들어주는 컴파일 시켜주는 명령어

인코딩이 맞지 않아서 나는 오류 -> 안시로 다시 저장

 

다시 javac Test.java 해도 같은 오류!

여기에 써주는 java나 javac라는 명령어는 어디에 있는 걸까?

 

(javac Test.java -> C드라이브에 JAVA 파일 생성)

 

C: > Program Files > Java > jdk와 jre가 있음 

 

 

개발자가 아닌, 사용자(자바가 없는)가 자바로 만들어진 프로그램 실행 시.. 자바가 없다고 뜰 것

jre : 자바를 실행할 수 있는 환경을 만들어주는 것

jdk : 자바 프로그램을 만들고, 실행할 수 있는 환경을 만들어주는 것

 

이클립스 -> 둘 중 아무거나 연결해도 됨

 

jdk > bin > javac.exe와 java.exe 둘 다 있음

 

 

아까 javac .. 했을 때 오류가 났다 : 내 컴퓨터가 java.exe, javac.exe를 못찾는다고 생각하면 됨

-> 컴퓨터한테 위치 알려주면 됨 : 파일 등록 시켜주기 -> 그 후 javac 라는 명령어 입력 시 여기에 있는 javac를 이용하겠다고 알려주는 것 -> 이클립스는 알아서 잡으므로 해줄 필요 없지만 이클립스가 없는 환경에서 할 시! 이런 과정 필요

 

내 PC 우클릭 > 속성 > 고급 시스템 설정 > 환경변수

 

ADMIN : 내 컴퓨터 사용자 이름(주 관리자만 쓸 수 있는 변수)

시스템 변수 : 모두 사용 가능

-> Path > 편집 > 

다시 돌아와서 > 시스템 변수에서 '새로 만들기'

 

여기서 아까 탐색기 다시 켜기 

bin까지 내려가지 말고 bin 앞에까지 경로 복사

변수 값에 붙여넣기 -> 확인

JAVA_HOME이 추가됨(별칭 같은 것)

다시 path 편집 > 새로 만들기

위로 이동 눌러서 맨 위로 보내고 확인

 

cmd 종료 후 다시 cmd 창 열기

class 파일 생김

--> java Test

: 자바 프로그램이라고 출력됨

====================

자바 컴파일 : javac 파일명(확장자 있어야 함)

자바 실행 : java 클래스명(확장자 없음)

 

이클립스에서는 자기가 알아서 되지만, 없으면 환경변수 설정 필요

java의 javac.exe java.exe의 경로 잡아주어야 함

ex) 자바 버전 1.8 일 때,

path

C:\Program Files\Java\jdk1.8.0_202\bin  ==> 환경 변수로 설정

 

아니면

 

JAVA_HOME : C\Program Files\Java\jdk1.8.0_202

path

%JAVA_HOME%bin

 

이렇게 나누어서!

 

-- %의 의미 : 이어서 붙여라

 

이렇게 해주면 이클립스가 아닌 메모장에서 작업 가능!

 

더보기

google.com에서 환경변수라고 검색하면 설명 나옴

 

 

728x90
728x90