내가 만드는 단위 테스트에서 자바와 각 방법에서 내가 만들기 같은 나열 변수,등등. 다른 한편으로는 물론 제가 생각하는게 확인할 수 있게 되었습니다.이러한 모든 변수로서 글로벌 과정에서 그 값 setup()
방법(에 @Before
어),하지만 나는 확실하지 않으면 값의 변경될 수 있습 테스트를 실행할 경우로 인한 멀티 스레딩,etc. 그래서 가장 좋은 방법은 무엇입한 이 상황입니까?
2
아무 걱정 없습니다. JUnit 새 인스턴스를 만듭 테스트 클래스고,다음 각 실행 @Before
방법이며,다음을 실행 @Test
방법,그리고 그것이 노래와 춤을 출 수도 있습니다 모든 것을 다시 모든 @Test
석 방법에서는 클래스. 당신이 사용하는 @Before
정확히 그것이 의도했다:그것은 저장하기 위해 초기화 코드하는 데 필요한 모든 테스트는 테스트 클래스가 있습니다.
JUnit 그것은 이 방법이기 때문에'테스트는 독립'이 좋을 테스트,바람직하게는,실패 또는 패스의 독립적인에서 주문을 실행합니다.
매주 초기화 프로세스가 너무 비싸지 않다는 것의 가치가 그것을 지불하는'비'의 그것을 실행시에 대한 모든 테스트입니다. 주석 @BeforeClass
존재를 위해 특별히 하는 목적이 있다. Javadoc 의 @BeforeClass
도 주문이 타협하 테스트는 독립하고 따라서만 사용될 경우에는 설치 작업을 수행 내에서 이러한 방법은 충분히 비싼(계산이나 그렇지 않으면)를 만드는 단점.
다른 말로:
귀하의 걱정에 대한 테스트는 독립하는 진짜 있지만,그들은 적용 @BeforeClass
. @Before
에서 이 문제는 코드는 다시 실행에 대한 모든 테스트입니다.
NB:을 던져 수 있습니다 이 모든 창 밖으로 있는 경우 static
재료습니다. 이 있지 않는 정적에 코드를 테스트하지 않는 한 당신이 정말로 무슨 일을 하는지 알고. 나는 가정이 없는 경우에는 휴대하기에,당신의 테스트는 독립적입니다.
덕분에 많은,어떤 예제 코드를 표시하는 적절한 사용법?
rzwitserloot
내가 이해하지 못했지만 사이의 차이
Amadán
@BeforeClass
고 @Before
. 모든 정화 pls?
모든 방법으로
rzwitserloot
@Before
실행하기 전에 각 시험합니다. 모든 방법으로 @BeforeClass
은 한번만 실행하기 전에,모든 테스트입니다. 일반적으로,당신은 설정 static
재료 @BeforeClass
다음 다시 사용된다(그래서,테스트에는 더이상 독립적이다). 당신이 설정한 정적이 아닌 재료 @Before
고,이에 따라 테스트는 독립적입니다. 다만 문서를 읽을 위한 이러한 주석이 있습니다. @BeforeClass
(JUnit5: @BeforeAll
)한 번 실행되어 전체에 대한 테스트 클래스 @Before
(JUnit5: @BeforeEach
)실행되기 전에 각각 하나의 테스트 방법입니다.
내가 사용하는 JUnit5,다음 사
avandeursen
@BeforeEach
대 @BeforeAll
글에서 설명이 있습니다. 그러나,나는 확실하지 않으면 내가 또는 명확한 목록에서 사용하는 다중 테스트입니다. 나는 네를 취소해야에서 그들을 @AfterEach
. 어떤 생각이 있으십니까?
하지 않는 명확한 목록에 있습니다. 그것은 또한 당신이해야 할 것 같은 장난감으로 주변이기 때문에,조금은 분명히 그렇게 대답으로는 충분하지 않습니다. 는 좋은 본능이! 다만..부 테스트를 추가 요소 목록을 초기화 한 번만에
@Before
며,인쇄 몇 가지 재료를 제거하지 않고는 아무것도. 다음 단순히 관찰합니다.
네,그것을 재생할 수 있지만,그것을 생각은 정말 일반적인 상황고 있어야 합니다 일반적인 접근 방식입니다. 그래서 나는 단지 명확히 할 필요가에 대한 단위 테스트 컨벤션에 대한 다시 사용하여 동일한 변수(예를 들어 단지 정의를 한 번에@BeforeEach 또는 @BeforeAll,맑은 변수에 대
@AfterEach
. 그래서,어떤 것은 적절한 접근 방식에 대한 이 상황은?. 어떤 생각이 있으십니까?
사
@Before
. 나는 아무 생각이 없도 여전히 혼란을 이 시점에서. 답변 그것을 주문!