Objective-C 코드를 유닛 테스트하는 가장 좋은 방법은 무엇입니까?
Objective-C 코드를 유닛 테스트하기 위한 프레임워크는 무엇입니까?Apple Xcode와 잘 연동되는 프레임워크를 원합니다.
Xcode에는 OCUnit과 유사한 XCTest가 포함되어 있으며 프로젝트 빌드 프로세스의 일부로 XCTest 기반 유닛 테스트를 실행할 수 있습니다.Xcode의 유닛 테스트 지원은 Xcode의 개요에 설명되어 있습니다. 유닛 테스트 사용.
Xcode 2일 전에 Xcode 유닛 테스트에서 일반적인 작업을 수행하는 방법에 대해 일련의 웹로그 투고를 작성했습니다.
XCTest가 아닌 OCUnit을 사용하지만 개념은 거의 동일합니다.
마지막으로, 코코아 유저 인터페이스의 테스트 작성 방법에 대해서도 투고했습니다.코코아는 구조화되어 있기 때문에, 이벤트 루프를 돌리거나 할 필요가 없기 때문에, 비교적 간단합니다.
이를 통해 모델 레벨 코드뿐만 아니라 컨트롤러 레벨 및 뷰 레벨 코드에 대한 테스트 기반 개발을 수행할 수 있습니다.
Gabriel Handford의 GHUnit을 확인하십시오.
GHUnit의 목표는 다음과 같습니다.
XCode 내에서 유닛 테스트를 실행하여 XCode Debugger를 완전히 활용할 수 있습니다.간단한 GUI로 테스트를 시각화할 수 있습니다.스택 트레이스를 표시합니다.(Cocoa 앱용) 프레임워크로 설치 가능하며, 타겟 설정이 간단(또는 그렇지 않음)하거나 iPhone 프로젝트에 쉽게 패키징할 수 있습니다."
아이폰용 구글 툴박스를 사용하기 시작했는데, 잘 되어가고 있어요.
OCUnit을 확인해 보세요.애플의 개발자 네트워크는 훌륭하게 도입되었다.
Google Toolbox for Mac(GTM) 프로젝트는 단순히 Apple의 SenTestingKit 프레임워크(OCUnit 기반)를 확장/개척합니다.프로젝트 현장에서는 다음과 같이 말하고 있습니다.
GTM에는 표준 SenTestingKit에 대한 몇 가지 확장 기능이 있어 iPhone에서 UI 유닛 테스트, 자동 바인딩 유닛 테스트, 로그 추적 및 유닛 테스트를 수행할 수 있습니다.또, 코드의 정적 테스트와 동적 테스트를 실시하기 위한 툴도 준비되어 있습니다.
사용자 인터페이스 테스트에 대해서는, 다음의 코멘트에 주의해 주세요.
GTM은 사용자 인터페이스 유닛테스트를 폭넓게 지원합니다.거의 모든 표준 Cocoa/UIKit UI 개체의 이미징 및/또는 내부 상태 테스트를 지원하며, 이 지원을 사용자 자신의 UI 개체로 쉽게 확장할 수 있습니다.
사용 방법에 대해서는, 「코드 검증 및 유닛 테스트」페이지를 참조해 주세요.
저는 GHUnit이 Objective-C의 가장 앞선 테스트 프레임워크라는 결론에 도달했습니다.저는 제 블로그에서 테스트 프레임워크에 대한 조사를 했습니다.배치(iphone, 시뮬레이터 또는 mac OS 네이티브) 면에서 가장 유연하며, 기능을 강조합니다.GTM을 기반으로 하기 때문에 SenTestingKit에 비해 GTM의 장점을 모두 계승할 뿐만 아니라 더 많은 장점을 더합니다.또 다른 장점은 매우 활발하게 유지되고 있다는 것이다.
OCMock을 GHUnit에 통합하기 위해 노력했는데, 잘 작동합니다!기써브에서 코드를 얻을 수 있어요.
오래된 질문인 것은 알지만 xUnit 스타일의 테스트보다 BDD 스타일의 테스트)보다 BDD 스타일의 테스트(rspec, Jasmine 등)를 선호하시는 경우:Unit, JSUnit, JUnit 등)에서 Cedar를 체크하는 것을 검토해 주십시오.Cedar는 폐쇄를 지원하므로 Objective-C에 BDD 스타일의 테스트를 제공합니다.
우리는 Pivotal Labs의 iOS 프로젝트에 Cedar를 사용하고 있으며, 이를 개선하기 위해 적극적으로 노력하고 있습니다.피드백이나 제안은 cedar-discuss@googlegroups.com에서 환영합니다.
또한 코드 중 어떤 부분이 유닛 테스트로 커버되고 어떤 부분이 커버되지 않는지 확인하기 위해 커버리지 도구를 사용할 것을 권장합니다.GCOV 툴을 사용하여 기본적인 회선 및 지점 코드 커버리지를 생성할 수 있습니다.적절한 HTML 커버리지보고서를 작성하려면 LCOV와 ZCOV가 있습니다.
gh-unit을 추천합니다.GH-unit은 테스트 결과에 적합한 GUI를 갖추고 있습니다.
http://github.com/gabriel/gh-unit/tree/master
xcode에 번들된 유닛 테스트 지원(간단한 셋업)과 ocrunner(일부 자동 테스트/크러닝 기능)는 현재 제가 가장 좋아하는 Obj-C 유닛 테스트 설정입니다.
여기 그것들이 많이 있다
Objective-C에서의 List_of_unit_testing_frameworks
Sen:te(Xcode에 포함된 테스트 프레임워크의 작성자)는 OCUnit을 iPhone 프로젝트에서 사용하는 방법을 설명합니다: simple-iphone-ipad-unit-test.
코코아 위드 러브의 매트 갤러거가 유닛 테스트에 관한 아주 좋은 기사를 실었습니다.
iOS용 오픈소스 BDD 테스트 프레임워크인 Kiwi에 대해 알아볼 것을 제안합니다: Kiwi
프로젝트의 WIKI에서 Daniel Steinberg의 "Test Driving iOS Development with Kiwi"를 시작하거나 다운로드하십시오.
iPhone, iPad libs에서 Simple Unit Test를 사용하고 있습니다.
http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html
유닛 테스트클래스를 쉽게 추가할 수 있도록 유닛테스트 Xcode 템플릿이 포함되어 있습니다.GTM을 랩합니다.
말 그대로 활성 프로젝트에 드롭하여 3분(또는 그 이하) 이내에 단위 테스트를 추가할 수 있습니다.
Specta는 XCTest 위에서 실행되는 현대적인 TDD(테스트 중심 개발)/BDD(행동 중심 개발) 프레임워크입니다.iOS 및 Mac OS X 프로젝트의 유닛 테스트를 지원합니다.
모든 방법을 테스트할 수 있는 'SenTestKit'을 사용해 주셨으면 합니다.
언급URL : https://stackoverflow.com/questions/33207/what-is-the-best-way-to-unit-test-objective-c-code
'source' 카테고리의 다른 글
선택 목록 열이 집계 함수 또는 GROUP BY 절에 포함되어 있지 않으므로 선택 목록에서 유효하지 않습니다. (0) | 2023.04.14 |
---|---|
#pragma 마크의 의미는 무엇입니까?#pragma 마크가 필요한 이유는 무엇입니까? (0) | 2023.04.14 |
C#의 문자열 앞에 있는 @는 무엇입니까? (0) | 2023.04.14 |
Excel의 큰 숫자에 대한 10진수에서 2진수로 변환 (0) | 2023.04.14 |
OS X에서 'sed' 명령과 'find' 명령을 함께 사용할 때 오류 발생: "invalid code" (0) | 2023.04.14 |