2016-09-16 2 views
-2

나는 "시험 주도 개발"에 익숙하지 않거나 친숙하지 않은 IT 교육 배경 및 문화에서 왔습니다. 긴 이야기 만하면, 저는 현재 일하는 Xcode 프로그래밍을 배웠습니다. 그리고 새로운 프로젝트를 만들 때마다 계속 나타나는이 "테스트"및 "UI 테스트"파일에 대한 호기심을 몇 달 동안 억제 한 후에 필자는 시간 보내. 그것이 "테스트 주도 개발"이라는 단어를 배우는 곳입니다.Xcode의 테스트 클래스 란 무엇입니까?

놀랍게도 테스트 구동 개발에 대한 기본 개념을 배우려는 초보자를위한 기사는 거의 없으며 Xcode에서 수행하는 방법을 알 수 있습니다. 내가 찾을 수있는 기사는 이미 TDD에 익숙한 독자를 전제로하는 모든 고급 자료입니다. QDD에 대한 기본적인 설명 인 스택 오버 플로우에서 발견 된 유일한 QA는 here이며 충분한 설명이 아니기 때문에 설명이 부족합니다. 또한 스택 오버플로에서 이미 제거 된 QA 링크와 중복 된 것으로 태그가 지정됩니다. 그리고 애플의 own documentation about writing test classes도 이미 그 개념에 익숙하다고 가정합니다.

TDD가 Xcode 프로젝트를 작성할 때 특히 스위프트 IOS에서 어떻게 작동하는지에 대한 간단한 예제를 제공 할 수 있습니까? 마찬가지로, 내 앱 코드는 무엇이고, 내 테스트 코드는 무엇이며, 두 코드가 어떻게 연결되어 있는지 또는 관련되어 있는지. 내 말은, 테스트 클래스에 테스트 코드를 작성하면 주 코드를 "디버깅"하는 데 어떻게 도움이되는지 개념을 이해하지 못한다는 의미입니다.

"테스트"에 대한 나의 해석에서 상상 한 바에 따르면 테스트 코드는 사용자가 UI에 데이터를 입력하는 방법을 시뮬레이션하고 가능한 모든 입력 조합을 시도해야합니다. 또한 "테스트 "및"UI 테스트 "? 코드 테스트는 어떻게 UI를 테스트 할 수 있습니까? 아, 그리고이 질문에 "중복"이라고 표시하려면 복제본의 위치에 대한 링크도 제공하십시오. 감사. 짧은

+0

[this] (https://www.jayway.com/2010/01/15/test-driven-development-in-xcode/) 기사를 읽으셨습니까? –

+0

@RashwanL 아니요. 이 종류의 기사가 이전에 내 검색에 나타나지 않은 이유가 궁금합니다. –

+1

https://www.raywenderlich.com/141405/unit-testing-macos-part-12 – Adrian

답변

1

테스트 주도 개발, 또는 TDD는 단위 테스트, 작은 초점을 맞춘 테스트 케이스가 앞으로 개발을 구동하는 간단한 소프트웨어 개발 방법입니다. 이것은 다음 세 가지를 지시하는 세 개의 TDD 규칙에 의해 가장 쉽게 설명됩니다.

에 실패한 단위 테스트 합격을하지 않는 한 프로덕션 코드를 작성할 수 없습니다. 실패하기에 충분한 것보다 더 이상 단위 테스트를 쓸 수 없습니다. 컴파일 실패는 오류입니다. 하나의 실패한 단위 테스트를 통과하려면 이상의 생산 코드를 작성하는 것이 허용되지 않습니다. 즉, 테스트 코드 은 프로덕션 코드 앞에 쓰여 있습니다. 모든 테스트가 으로 작성된 것은 아니지만 작은 테스트가 작성된 것입니다. 그런 다음 작은 조각의 프로덕션 코드 만 작성하면 테스트를 통과 할 수 있습니다. 이것은 많은 작은 반복에 반복 : 테스트가 실패, 코드, 패스, 테스트, 실패, 코드, 통과 ...

많은 사람들이 깨끗한 코드, 간단한 구조 실제로 검증의 안정적인 시스템을 장려하기 위해 TDD를 고려한다. 게다가 재미 있습니다! 이전에 TDD의 다양한 측면에 관해 작성했지만이 자습서에서는 Xcode 프로젝트에서 어떻게 작동하는지 집중적으로 다룹니다. Mac 및 iPhone 용 응용 프로그램을 작성하십시오. 간단한 XCode 프로젝트 인 을 몇 가지 특별한 구성 단계를 거친 다음 TDD가 으로 작성하여 앱을 작성하는 방법을 보여줍니다. 우리는 OCUnit과 그 프레임 워크 인 SenTestingKit을 사용할 것입니다. 요즘은 Apple의 XCode 도구에 포함되어 있습니다.

체크 아웃 this XCode의 테스트 기반 개발이 어떻게 작동하는지 설명하는 문서입니다.