«unit-testing» 태그된 질문

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

3
BDD를 사용할 때 단위 테스트를 사용하는 방법은 무엇입니까?
BDD를 이해하려고합니다. 일부 기사를 읽었으며 BDD가 TDD의 "다음 단계"라는 것을 이해했습니다. 나는 두 가지가 매우 비슷하다는 것을 알았 기 때문에이 기사 에서 읽을 수 있듯이 BDD는 TDD의 개선으로 태어났습니다. 좋아, 나는 그 아이디어를 정말로 좋아한다. 내가 얻지 못하는 한 가지 실용적인 점이 있다고 생각합니다 .BA가 시스템이 가질 것으로 예상되는 모든 …
17 unit-testing  bdd 

2
외부 파일에서 단위 테스트를위한 데이터를로드하거나로드하지 않으려면
단위 테스트를 할 때, 나는 얼마나 많은 데이터를 피드하고 있는지, 그리고 테스트중인 단위로부터 다시 기대할 때 종종 실제 테스트 파일에 포함시켜야합니다. 내가 끊임없이 고투하고있는 트레이드 오프는 : 테스트의 많은 부분 (코드 볼륨)이 입력 및 출력 데이터로 구성되어 있으면 실제로 테스트를 읽는 것이 어려워 보이지만 실제 입출력을 쉽게 볼 수 있습니다. …

5
TDD에서 프로덕션 코드를 수정하지 않고 통과 한 테스트 사례를 작성하면 무엇을 의미합니까?
다음은 TDD에 대한 Robert C. Martin의 규칙입니다 . 실패한 단위 테스트를 통과하지 않으면 프로덕션 코드를 작성할 수 없습니다. 실패하기에 충분한 단위 테스트를 더 이상 작성할 수 없습니다. 컴파일 실패는 실패입니다. 실패한 단위 테스트를 통과하기에 충분한 양보다 더 많은 생산 코드를 작성할 수 없습니다. 가치가 있지만 테스트 코드를 변경하지 않고 통과하는 …

1
단위 테스트와 통합 테스트를 분리해야합니까?
프로젝트에 대한 단위 테스트 및 통합 테스트를 작성해야합니다. 모든 테스트를 단일 테스트 폴더에 넣어야 합니까? 아니면 단위 테스트와 통합 테스트가 각각 별도의 테스트 폴더에 있어야 합니까? 아니면 별도의 프로젝트에 넣어야 합니까? 함께 사용하면이 접근 방식의 장점이나 단점이 있습니까?

5
왜 단위 테스트 개인 메소드가 나쁜 습관으로 간주됩니까?
문맥: 현재 Python에서 작은 프로젝트를 진행하고 있습니다. 나는 일반적으로 문서화되어 일부 공공 방법으로 내 수업을 구성하지만, 주로 높은 수준의 개념 (클래스의 사용자가 알고 사용해야하는지), 그리고 무리를 다루는 숨겨진 의 담당 방법 (밑줄로 시작하는) 복잡하거나 낮은 수준의 처리. 코드에 대한 자신감을 갖고 나중에 수정해도 이전 동작이 중단되지 않도록 테스트가 필수적이라는 것을 …

6
요구 사항 또는 방법에 따라 단위 테스트 나누기
먼저, 제목에 대한 사과, 나는 그것을 설명하는 가장 쉬운 방법을 생각할 수 없었다! 단위 테스트를 작성하려는 방법이 있습니다. 메소드의 구현, 테스트 방법에 대해서만 논의하고 싶지 않기 때문에 상당히 일반적으로 사용하겠습니다. 방법은 다음과 같습니다 public void HandleItem(item a) { CreateNewItem(); UpdateStatusOnPreviousItem(); SetNextRunDate(); } 따라서이 클래스에는 하나의 공용 메소드가 있으며이 메소드는 일부 …
16 c#  unit-testing 

3
외부 API를 쿼리하는 것이 유일한 목적이지만 API가 복잡한 쿼리 구문을 사용하는 함수를 어떻게 테스트합니까?
유일한 실제 논리는 외부 API의 쿼리 구문에 있습니다. API를 쿼리하는지 여부를 테스트하고 싶지 않고 올바른 데이터가 반환되는 방식으로 쿼리하는지 테스트하고 싶습니다. 예를 들어 일부 의사 코드는 다음과 같습니다. function retrieve_related_data(id) { query = "[potentially long, syntactically complex query that uses param id to get some data]"; results = api_wrapper.query(query); return …

4
GUI에 대한 유지 보수가 아닌 부서지지 않는 단위 테스트를 작성하는 방법은 무엇입니까?
GUI 응용 프로그램에 대한 UI 단위 테스트를 작성하려고 시도했지만 처음 작성할 때 잘 작동하지만 부서지기 쉽고 디자인이 변경 될 때마다 (즉, 매우 자주) 깨지는 문제에 직면했습니다. GUI에 대한 유지 보수 가능한 단위 테스트를 유도하는 일련의 지침을 찾기 위해 고심하고 있습니다. 지금까지 내가 발견 한 한 가지는 "이 구성 요소는 입력 …

6
TDD 관점에서 볼 때 모의 대신 라이브 엔드 포인트를 테스트하면 나쁜 사람입니까?
나는 종교적으로 TDD를 따릅니다. 내 프로젝트는 일반적으로 의미있는 테스트 사례와 함께 85 % 이상의 테스트 범위를 갖습니다. 저는 HBase 와 많은 작업을 수행 하고 있으며 주요 클라이언트 인터페이스 인 HTable은 조롱하기가 매우 어렵습니다. 라이브 엔드 포인트를 사용하는 테스트를 작성하는 것보다 단위 테스트를 작성하는 데 3-4 배 더 걸립니다. 철학적으로 모의를 …

1
REST 웹 서비스를 어떻게 단위 테스트 할 수 있습니까?
단위 테스트를 처음 접했을 때 DB를 호출하고 DTO를 채우는 REST 웹 메소드가 하나 있습니다. 의사 코드는 public object GetCustomer(int id) { CustomerDTO objCust = //get from DB return objCust; } 이러한 방법과 테스트 유형 (통합 / 단위)에 대한 테스트를 작성하는 방법은 의심의 여지가 있습니다. 그리고 단위 테스트를 위해서는 DB를 쳐야합니다. …

2
소프트웨어 테스팅 기법 또는 범주 [닫기]
여기에 무엇이 요청되는지 말하기가 어렵습니다. 이 질문은 모호하거나 모호하거나 불완전하거나 지나치게 광범위하거나 수사적이며 현재 형태로 합리적으로 대답 할 수 없습니다. 다시 열 수 있도록이 질문을 명확하게 설명 하려면 도움말 센터를 방문하십시오 . 휴일 팔년 전에 . 어떤 종류의 소프트웨어 테스트를 알고 있습니까? 테스트 주도 개발, 단위 테스트 등에 대해 들었지만 …

6
절차 적 코드에서 객체 지향 코드로 변환
대규모 ASP.NET 웹 양식 응용 프로그램의 기존 코드베이스를 정리하는 방법에 대한 학습 전략을 목표 로 레거시 코드 및 클린 코드를 사용한 효과적인 작업을 읽었 습니다. 이 시스템은 2005 년부터 사용되어 왔으며 그 이후로 여러 가지 기능이 향상되었습니다. 원래 코드는 다음과 같이 구성되었습니다 (그리고 여전히 대부분 이런 식으로 구성됩니다). ASP.NET (aspx …

4
데이터베이스 작업시 OO 및 테스트 가능
데이터베이스를 사용하면서 작업 단위를 테스트 할 수있는 OOP 전략에는 어떤 것이 있습니까? User 클래스가 있고 프로덕션 환경이 MySQL에 대해 작동한다고 가정 해보십시오. PHP를 사용하여 여기에 표시된 몇 가지 가능한 접근 방법이 있습니다. 백엔드 데이터 소스를 추상화하기 위해 load()및 save()에 대한 인터페이스가있는 $ data_source를 전달 하십시오. 테스트 할 때 다른 데이터 …

10
더 많은 돈을 위해 소프트웨어 개발 원칙을 어느 시점에 포기 하시겠습니까?
매체가 어디에 있는지 흥미롭게 보려고이 질문을 던지고 싶습니다. 지난 12 개월 동안 소프트웨어 개발에서 TDD와 많은 애자일 가치를 선택했습니다. 소프트웨어 개발이 훨씬 더 나아 져서 절대로 소프트웨어를 그만 두지 않을 것에 너무 압도되었습니다. 그때까지… 나는 계약직 역할을 맡아 올해의 집값을 두 배로 늘 렸습니다. 내가 참여한 회사는 특정한 방법론을 따르지 …

3
구현 세부 사항에 연결하지 않고 단위 테스트 동작
이안 쿠퍼는 TDD에서 단위 테스트에 대한 켄트 벡의 원래 의도를 강의 (특별히 클래스의 방법이 아닌 행동을 테스트하기 위해)로 강요 한 TDD의 대화 에서 테스트를 구현에 결합하지 않도록 주장한다. save X to some data source일반적인 서비스 및 리포지토리가있는 시스템과 같은 동작의 경우 테스트를 구현 세부 정보에 연결하지 않고 리포지토리를 통해 서비스 …

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