를 사용해야 하는 같은 변수를 통하여 전체 단위 테스트?

0

질문

내가 만드는 단위 테스트에서 자바와 각 방법에서 내가 만들기 같은 나열 변수,등등. 다른 한편으로는 물론 제가 생각하는게 확인할 수 있게 되었습니다.이러한 모든 변수로서 글로벌 과정에서 그 값 setup() 방법(에 @Before어),하지만 나는 확실하지 않으면 값의 변경될 수 있습 테스트를 실행할 경우로 인한 멀티 스레딩,etc. 그래서 가장 좋은 방법은 무엇입한 이 상황입니까?

java junit junit5 testing
2021-11-23 13:33:22
1

최고의 응답

2

아무 걱정 없습니다. JUnit 새 인스턴스를 만듭 테스트 클래스고,다음 각 실행 @Before 방법이며,다음을 실행 @Test 방법,그리고 그것이 노래와 춤을 출 수도 있습니다 모든 것을 다시 모든 @Test 석 방법에서는 클래스. 당신이 사용하는 @Before 정확히 그것이 의도했다:그것은 저장하기 위해 초기화 코드하는 데 필요한 모든 테스트는 테스트 클래스가 있습니다.

JUnit 그것은 이 방법이기 때문에'테스트는 독립'이 좋을 테스트,바람직하게는,실패 또는 패스의 독립적인에서 주문을 실행합니다.

매주 초기화 프로세스가 너무 비싸지 않다는 것의 가치가 그것을 지불하는'비'의 그것을 실행시에 대한 모든 테스트입니다. 주석 @BeforeClass 존재를 위해 특별히 하는 목적이 있다. Javadoc 의 @BeforeClass 도 주문이 타협하 테스트는 독립하고 따라서만 사용될 경우에는 설치 작업을 수행 내에서 이러한 방법은 충분히 비싼(계산이나 그렇지 않으면)를 만드는 단점.

다른 말로:

귀하의 걱정에 대한 테스트는 독립하는 진짜 있지만,그들은 적용 @BeforeClass. @Before 에서 이 문제는 코드는 다시 실행에 대한 모든 테스트입니다.

NB:을 던져 수 있습니다 이 모든 창 밖으로 있는 경우 static 재료습니다. 이 있지 않는 정적에 코드를 테스트하지 않는 한 당신이 정말로 무슨 일을 하는지 알고. 나는 가정이 없는 경우에는 휴대하기에,당신의 테스트는 독립적입니다.

2021-11-23 13:38:26

덕분에 많은,어떤 예제 코드를 표시하는 적절한 사용법?
rzwitserloot

내가 이해하지 못했지만 사이의 차이 @BeforeClass@Before. 모든 정화 pls?
Amadán

모든 방법으로 @Before 실행하기 전에 시험합니다. 모든 방법으로 @BeforeClass 은 한번만 실행하기 전에,모든 테스트입니다. 일반적으로,당신은 설정 static 재료 @BeforeClass 다음 다시 사용된다(그래서,테스트에는 더이상 독립적이다). 당신이 설정한 정적이 아닌 재료 @Before고,이에 따라 테스트는 독립적입니다. 다만 문서를 읽을 위한 이러한 주석이 있습니다.
rzwitserloot

@BeforeClass (JUnit5: @BeforeAll)한 번 실행되어 전체에 대한 테스트 클래스 @Before (JUnit5: @BeforeEach)실행되기 전에 각각 하나의 테스트 방법입니다.
rzwitserloot

내가 사용하는 JUnit5,다음 사 @BeforeEach@BeforeAll 글에서 설명이 있습니다. 그러나,나는 확실하지 않으면 내가 또는 명확한 목록에서 사용하는 다중 테스트입니다. 나는 네를 취소해야에서 그들을 @AfterEach. 어떤 생각이 있으십니까?
avandeursen

하지 않는 명확한 목록에 있습니다. 그것은 또한 당신이해야 할 것 같은 장난감으로 주변이기 때문에,조금은 분명히 그렇게 대답으로는 충분하지 않습니다. 는 좋은 본능이! 다만..부 테스트를 추가 요소 목록을 초기화 한 번만에 @Before며,인쇄 몇 가지 재료를 제거하지 않고는 아무것도. 다음 단순히 관찰합니다.

네,그것을 재생할 수 있지만,그것을 생각은 정말 일반적인 상황고 있어야 합니다 일반적인 접근 방식입니다. 그래서 나는 단지 명확히 할 필요가에 대한 단위 테스트 컨벤션에 대한 다시 사용하여 동일한 변수(예를 들어 단지 정의를 한 번에@BeforeEach 또는 @BeforeAll,맑은 변수에 대 @AfterEach. 그래서,어떤 것은 적절한 접근 방식에 대한 이 상황은?. 어떤 생각이 있으십니까?

@Before. 나는 아무 생각이 없도 여전히 혼란을 이 시점에서. 답변 그것을 주문!

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................