2012-06-17 1 views
-1

이것은 클래스 아래의 링크이며 기본 메소드가 없으므로 테스트하고 테스트하려고합니다. 메소드 [[1] :] [1]이 (가) 처리 중이고 오류가 발생하지 않는 경우.이 클래스에서이 메소드를 테스트하여 작동하는지 확인하지만 메인에는 아무 것도 없습니다

+2

여기에 코드를 게시 할 수 있습니까? –

+0

ode가 너무 길어서 링크를 제공하려하지만 작동하지 않는 것 같습니다. 너무 길기 때문에 게시 할 수 없습니다 – user1456990

+0

테스트 할 특정 방법이 있다면 너무 길지 않아야합니다. 오래 게시 할 수 있습니다. 그렇다면 작은 조각으로 나누어야합니다. – StriplingWarrior

답변

-1

BlueJ를 사용하십시오. Main 메서드가 없어도 객체로 작업 할 수 있습니다.

Java 파일을 IDE로 가져오고 클래스의 클래스 다이어그램 프리젠 테이션을 마우스 오른쪽 버튼으로 클릭하여 오브젝트를 만듭니다. IDE는 클래스 및 객체의 그림 표현에서 많이 사용된다는 점에서 매우 기본적이고 사용자 친화적입니다.

지정한 클래스 또는 클래스의 개체가있는 경우 마우스 오른쪽 단추로 클릭하여 상호 작용할 수있는 IDE의 맨 아래에 개체가 표시됩니다. 행운을 빕니다.

+0

일부 사람들은 심각하게 downvote 때를 몰라요. 대답이 유효하지 않은 경우에만 downvote해야합니다. 내 대답은 완벽하게 유효합니다 ._. – OmniOwl

+0

그럴 수도 있습니다 만, 당신은 그것이 유효하다는 이유만으로 말하지 않았습니다. 나는 정말로 당신의 대답이 어떤 식 으로든 유용하지 않다고 느낍니다. 어떤 자바 IDE가'main()'없이 클래스로 작업 할 수 없습니까? 이 점에서 BlueJ가 어떤면에서 더 나은가요? OP가 어떻게 당신이 원하는 기능을 사용할 수 있습니까? 나는 그것을 모른다. 나는 그것을 알고 싶다. 그러나 당신은 어떤 세부 사항도 지정하지 않았고 아마도 BlueJ의 전체 문서를 읽으려고 시도하지 않을 것이다. 오른쪽 기능/페이지/문서를 가리키면 upvote를 얻을 수 있습니다. –

+1

지금 행복하십니까? – OmniOwl

0

테스트중인 메서드가 정적이 아닌 경우 먼저 개체를 구성한 다음 메서드를 호출 할 수 있습니다. JUnit 테스트 케이스가 테스트중인 클래스와 같은 이름의 패키지에 있으면 공개 멤버와 보호 된 멤버 모두에 액세스 할 수 있습니다. 다음은 주 방법이없는 HashMap 클래스에 대한 예제 테스트입니다. 당신이 찾고있는 무엇

public void testDuplicateKey() throws Exception { 
    HashMap<String,String> map=new HashMap(); 
    // setup 
    map.put("key1", "value1"); 
    map.put("key2", "value2"); 
    map.put("key3", "value3"); 
    assertEquals(3, map.size()); 
    // overwrite an existing key 
    map.put("key2", "value4"); 
    assertEquals(3, map.size()); 
    assertEquals("value4", map.get("key2")); 
} 
2

"Getting Started" 아래의 사이트를보다 구체적으로 JUnit, 또는. 짧은

,이

public boolean isBrown() { 
    // some hard & heavy logic 
} 

같은 방법으로 클래스 Dog이 있다면 당신은 아마 작동 여부를 여부를 확인하고 싶습니다. 이를 위해, 당신은 몇 가지 테스트 클래스를 사용하여 응용 프로그램 내에서 test 패키지를 만들 것, 그들 중 하나 DogTests 이름이 포함되어야한다 수 :

public class DogTests { 
    @Test(expected = NullPointerException.class) 
    public void nullDogShouldFailWithNpe() throws Exception { 
     new Dog(3, 14, null); 
    } 

    @Test 
    public void brownDogShouldBeBrown() throws Exception { 
     Animal animal = new Dog(3, 14, "brown"); 
     assertTrue(animal.isBrown()); 
    } 

    @Test 
    public void greenDogShouldNotBeBrown() throws Exception { 
     Animal animal = new Dog(3, 14, "green"); 
     assertTrue(animal.isBrown()); 
    } 
} 

당신은 그 assert 방법 here에 대한 문서를 찾을 수 있습니다.

위의 @Test 주석을 볼 수 있습니까? 그것은 라고하는 JUnit 4 구조체입니다. "이봐, 나 테스트 메서드 야.이 클래스의 테스트를 실행할 때 나도 돌봐!" 여기에 main() 메소드가 필요하지 않습니다. 포함하는 클래스를 "실행"하려고하면 IDE에 모두@Test 주석이 달린 메소드가 표시되어 실행되고 테스트 결과가 표시됩니다.

여러 개의 테스트 스위트를 정렬하고, 동시에 테스트를 실행하고, 애플리케이션을 빌드 할 때 자동으로 실행하고, 다른 모든 종류의 테스트 마법을 시작할 수도 있습니다 ... 웹 사이트에서 파기하면 더 많은 것을 발견 할 수 있습니다. 단위 테스트 좋은.

관련 문제