동일한 프로젝트에서 Eclipse junit 테스트
이것은 비교적 열린 질문입니다. Eclipse의 프로젝트에서 애플리케이션을 빌드 한 후이 프로젝트를 테스트하려면 동일한 프로젝트 내에서 JUnit 코드를 작성하거나 별도의 프로젝트를 작성해야합니다. 예를 들어 ...
ShopSystem
내 주 프로젝트의 이름 일 수 있습니다. say라는 프로젝트를 만들어야 ShopSystemTest
합니까?
일반적으로 테스트 코드가 메인 프로젝트 폴더에서 얼마나 멀리 떨어져 있어야합니까? 메인 프로젝트 내에 테스트 코드를 저장 한 다음 메인 프로젝트를 실행 가능한 jar로 내 보내면 테스트 코드도 함께 가져 오는데 이상적이지 않습니다.
제안?
올바른 방법은 없지만 일반적인 접근 방식은 동일한 프로젝트에서 단위 테스트를 유지하는 것입니다.
두 번째 소스 폴더 (예 test
:)를 생성하여 테스트 클래스를 테스트중인 클래스와 동일한 패키지에 넣을 수 있습니다. 또한 테스트 클래스로 메인 소스 패키지를 넘치지 않으면 서 패키지 전용 클래스를 테스트 할 수 있습니다.
소스 폴더 / 패키지 구조는 다음과 같습니다.
-sources
-main
-my.package
-MyClass.java
-test
-my.package
-MyClassTest.java
그런 다음 test
JAR을 압축 할 때 소스 폴더를 포함하지 않도록 빌드를 구성 할 수 있습니다 .
나는 메이븐 컨벤션을 많이 좋아한다. 같은 프로젝트에 메인과 테스트를위한 별도의 소스 트리가 있고, 메인 코드는 배포되고 테스트 코드는 그렇지 않다. 패키지 구조는 동일 할 수 있지만 반드시 동일 할 필요는 없습니다.
project
src
main
java // source files
resources // xml, properties etc
test
java // source files
resources // xml, properties etc
그리고 이클립스에서를 선택할 때 new -> JUnit test case
소스 폴더를 src / test / java로 변경하고 제안 된 패키지를 그대로 둡니다.
(동일한 패키지에 남아있는 이점 중 하나는 보호 및 패키지 범위 멤버에 액세스 할 수 있다는 것입니다. 이는 '적절한'단위 테스트 동작은 아니지만)
업데이트 : 마지막 요점을 설명하는 몇 가지 코드는 다음과 같습니다.
메인 클래스 (src / main / java) :
package com.test;
public class Foo{
static class Phleem{
public Phleem(final String stupidParameter){
}
}
String bar;
protected String baz;
protected Object thingy;
}
테스트 클래스 (src / test / java) :
package com.test;
import org.junit.Test;
public class FooTest{
@Test
public void testFoo(){
final Foo foo = new Foo();
foo.bar = "I can access default-scoped members";
foo.baz = "And protected members, too";
foo.thingy = new Foo.Phleem("And I can access default-scoped classes");
}
}
일반적으로-
/src/main/java (for codes)
/src/test/java (for tests)
Maven 방식을 고려하십시오. Maven 프로젝트에서 소스는 이러한 방식으로 구성됩니다.
src
|--main
| |--java
|--test
|--java
소스 코드는 src / main / java로, junit 테스트 코드는 src / test / java로, 둘 다 소스 폴더입니다 (결과적으로 jUnit 코드를 Java 코드와 동일한 패키지에 넣을 수 있지만 다른 소스 폴더).
일반적인 코딩의 경우 jUnit 클래스가 코드 패키지에 있지만 jar 생성시에는 src / main / java에서만 클래스를 가져오고 테스트를 릴리스 할 수는 없습니다.
ReferenceURL : https://stackoverflow.com/questions/3573842/eclipse-junit-testing-in-the-same-project
'Programing' 카테고리의 다른 글
PI = 4 * ATAN (1.d0)을 정의하는 이유 (0) | 2021.01.07 |
---|---|
자바에서 양방향지도를 만드는 방법 (0) | 2021.01.07 |
XMLHttpRequest는 jQuery로 URL을로드 할 수 없습니다. (0) | 2021.01.07 |
Razor 구문 및 자바 스크립트 (0) | 2021.01.07 |
LINQ Any ()와 동등한 JavaScript / jQuery (0) | 2021.01.07 |