«unit-testing» 태그된 질문

단위 테스트는 소스 코드의 개별 단위를 테스트하여 사용하기에 적합한 지 결정하는 방법입니다.

2
주사 불가능한 코드를 테스트하는 방법은 무엇입니까?
그래서 나는 시스템 전체에서 다음과 같은 코드를 사용하고 있습니다. 우리는 현재 단위 테스트를 소급하여 작성하고 있지만 (내 주장보다 결코 늦지 않았습니다), 이것이 어떻게 테스트 될 수 있는지 보지 못합니까? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter = new SearchEntityToQueryAdapter($queryBuilder, $searchEntity); $query = $adapter->setupBuilder()->build(); $totalCount …

3
GWT (Gifd When When)와 AAA (Arant Act Assert)의 차이점은 무엇입니까?
TDD에는 AAA (Arrange Act Assert) 구문이 있습니다. [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } BDD 쓰기 테스트에서 유사한 …
13 c#  unit-testing  tdd  bdd 

5
오래된 / 레거시 단위 테스트 고장
저는 대기업에서 일하고 있으며 수천 개의 junit 테스트로 대규모 Java 응용 프로그램을 담당하고 있습니다. 이 직책으로 이사 한 이후 200-300 건의 테스트가 중단되었습니다 (수년 동안 중단 된 것 같습니다). 테스트는 오래되고 깨지기 쉬우 며 일반적으로 라이브 샌드 박스 데이터로 끝나는 스파게티 종속성의 혼란입니다. 내 목표는 100 % 테스트 통과이므로 단위 …

3
특정 조건에서 프로그래머의 관심을 끄는 방법은 무엇입니까?
예를 들어 보자. exportDB 스키마에 크게 의존 하는 메서드가 있다고 가정 해 봅시다 . “무겁다”는 말은 특정 테이블에 새 열을 추가하는 경우가 많고 (매우 자주) 해당 export메소드가 변경됨 을 나타냅니다 (보통 내보내기 데이터에도 새 필드를 추가해야 함). 프로그래머는 종종이 export방법 을 변경 해야한다는 것을 확실하지 않기 때문에 방법 을 변경 …

4
모의가 개방 / 폐쇄 원칙을 위반합니까?
얼마 전에 나는 찾을 수없는 스택 오버플로 답변에서 공개 API를 테스트해야한다고 설명하는 문장을 읽었으며 저자는 인터페이스를 테스트해야한다고 말했습니다. 저자는 또한 메소드 구현이 변경되면 테스트 케이스를 수정할 필요가 없다고 설명했다. 이렇게하면 테스트중인 시스템이 작동하는 계약을 깨뜨릴 수 있기 때문이다. 즉, 메소드가 작동하지 않으면 테스트가 실패하지만 구현이 변경 되었기 때문에 실패해야합니다. 우리가 …

5
한 테스트를 다른 테스트 결과에 의존하게 만드는 방법은 무엇입니까?
코드의 모든 곳 에서 다른 많은 클래스가 사용하는 일반적인 정적 메소드를 제공하는 유틸리티 클래스가 있다고 가정 해 봅시다 . 유틸리티 테스트 중 하나라도 통과하지 못하면 테스트가 실패하도록 유틸리티 소비자에 대한 단위 테스트를 어떻게 설계 하시겠습니까? 유틸리티 클래스 테스트가 모두 녹색인지 직접 확인해야합니까? 예를 들어 메시지 파서가 사용하는 메시지 스플리터 유틸리티가 …

4
이 코드를 작성하는 방법은 테스트 가능하지만 누락 된 것이 있습니까?
라는 인터페이스가 IContext있습니다. 이를 위해 다음을 제외하고는 실제로 어떤 일을하는지는 중요하지 않습니다. T GetService<T>(); 이 방법은 응용 프로그램의 현재 DI 컨테이너를보고 종속성을 해결하려고 시도합니다. 상당히 표준이라고 생각합니다. 내 ASP.NET MVC 응용 프로그램에서 생성자는 다음과 같습니다. protected MyControllerBase(IContext ctx) { TheContext = ctx; SomeService = ctx.GetService<ISomeService>(); AnotherService = ctx.GetService<IAnotherService>(); } 따라서 …

1
게임 테스트 전략
나는 웹 기반의 교육 게임을 물려 받았습니다. 지난 한 해 동안 코드를 안정화하고 새로운 기능을 추가하기 위해 노력했습니다. 대부분의 논리는 프론트 엔드에 있으므로 백엔드 단위 테스트는 도움이 되더라도 적은 비율의 코드를 커버합니다. 게임은 점점 복잡해지기 시작했다. 각 게임마다 두 가지 모드가 있으며 게임은 모드에 따라 다르게 작동합니다. 게임 플레이에 영향을주는 …

5
유용성에 따른 단위 테스트 유형
가치 관점에서 볼 때 연습에서 두 그룹의 단위 테스트를 봅니다. 사소한 논리를 테스트하는 테스트. 그것들을 (구현 전 또는 후에) 작성하면 몇 가지 문제 / 잠재적 인 버그가 드러나고 나중에 논리가 변경 될 경우 확신을 가질 수 있습니다. 아주 사소한 논리를 테스트하는 테스트. 이러한 테스트는 테스트하는 것보다 문서 코드 (일반적으로 모의 …
13 unit-testing  tdd 

2
테스트 대상 시스템에서 클래스를 추출 할 때 단위 테스트를 리팩터링해야합니까?
나는 몇 가지 일을하는이 수업을 썼습니다 (아마도 이것이 단일 책임 원칙을 위반하는 것입니다). 지금은 프로젝트의 다른 부분이 필요 실현 조각 이 논리의 나는 내 원래의 시스템에서 테스트의 클래스를 추출하는 것입니다 노출거야 방법. 테스트 코드를 변경하지 않고도이 작업을 수행 할 수있을 것으로 기대하지만 완료하면 테스트가 더 이상 단위 테스트 가 아니라고 …

3
이야기를하는 것이 좋은 아이디어를주기 위해 단위 테스트를 사용하고 있습니까?
그래서 얼마 전에 작성한 인증 모듈이 있습니다. 이제 나는 길의 오류를보고 그것을 위해 단위 테스트를 작성하고 있습니다. 단위 테스트를 작성하는 동안 좋은 이름과 테스트하기 좋은 영역을 찾기가 어렵습니다. 예를 들어 다음과 같은 것이 있습니다 Login_should_redirect_when_not_logged_in 필요 Login_should_pass_through_when_logged_in 필요 Login_should_work_when_given_proper_credentials 개인적으로, 나는 그것이 "적절한"것처럼 보이지만 조금 추악하다고 생각합니다. 또한 스캔을 통해 …

1
타사 코드를 포장하여 소비자를 단위 테스트하는 유일한 솔루션입니까?
단위 테스트를 수행하고 있으며 클래스 중 하나에서 메소드 중 하나에서 메일을 보내야하므로 생성자 주입을 사용하여 Zend_MailZend 프레임 워크 에있는 클래스 인스턴스를 주입합니다 . 이제 일부 사람들은 라이브러리가 충분히 안정적이며 자주 변경되지 않으면 랩핑 할 필요가 없다고 주장합니다. 따라서 그것이 Zend_Mail안정적이며 변경되지 않고 내 요구에 완전히 부합 한다고 가정하면 래퍼가 필요하지 …

5
단위 테스트 절차 코드가 효과적입니까?
현재 프로젝트에서 코드에 스며드는 버그를 피하기 위해 단위 테스트를 개발주기에 통합하려는 능력이 있습니다. 문제는 스파게티 코드가 95 %의 절차 적이며 단위 테스트를 한 적이 없습니다 (단위 테스트에 대한 모든 경험은 OOP 코드에 대한 것입니다) 요컨대, 현재 코드베이스로 단위 테스트를 진행하는 것이 현명한 것인가, 아니면 응용 프로그램이 적절한 OOP 프레임 워크로 …

8
실패한 단위 테스트에서 확인하는 값은 무엇입니까?
단위 테스트가 실행되지 않도록하는 방법이 있지만 실패한 단위 테스트에서 확인하는 값은 무엇입니까? 간단한 예를 사용하겠습니다. 대소 문자 구분. 현재 코드는 대소 문자를 구분합니다. 메소드에 유효한 입력은 "Cat"이며 Animal.Cat의 열거 형을 리턴합니다. 그러나 방법의 원하는 기능은 대소 문자를 구분해서는 안됩니다. 따라서 설명 된 방법이 "cat"을 전달하면 Animal.Cat 대신 Animal.Null과 같은 것을 …

4
TDD 테스트에서 테스트가 필요한 새로운 기능이 공개되면 어떻게해야합니까?
테스트를 작성하고 테스트를 통과해야 할 시점에 도달하면 자체 기능으로 분리해야하는 추가 기능이 필요하다는 것을 알고 있습니까? 이 새로운 기능도 테스트해야하지만 TDD주기는 테스트 실패, 리팩토링을한다고 말합니다. 테스트를 통과하려고하는 단계에 있다면 구현에 필요한 새로운 기능을 테스트하기 위해 실패한 테스트를 시작하지 않아야합니다. 예를 들어, WillCollideWith ( LineSegment ) 함수를 가진 포인트 클래스를 작성하고 …
13 unit-testing  tdd 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.