- Test-Driven iOS Development with Swift 4(Third Edition)
- Dr. Dominik Hauser
- 322字
- 2021-07-02 15:39:39
TDD in Xcode
In 1998, the Swiss company Sen:te developed OCUnit, a testing framework for Objective-C (hence, the OC prefix). OCUnit was a port of SUnit, a testing framework that Kent Beck had written for Smalltalk in 1994.
With Xcode 2.1, Apple added OCUnit to Xcode. One reason for this step was that they used it to develop Core Data at the same time that they developed Tiger, the OS with which Core Data was shipped. Bill Bumgarner, an Apple engineer, wrote this later in a blog post:
Apple realized how valuable unit tests can be when developing complex systems in a changing environment. They wanted third-party developers to benefit from unit tests as well. OCUnit could be (and has been) added to Xcode by hand before version 2.1. But by including it into the IDE, the investment in time that was needed to start unit testing was reduced a lot, and as a result, more people started to write tests.
In 2008, OCUnit was integrated into the iPhone SDK 2.2 to allow unit testing of iPhone apps.
Finally, in 2013, unit testing became a first-class citizen in Xcode 5 with the introduction of XCTest. With XCTest, Apple added specific user interface elements to Xcode that helped with testing, which allowed running specific tests, finding failing tests quickly, and getting an overview of all the tests. We will go over the testing user interface in Xcode later in this chapter. But, first, we will take a look at TDD using Xcode in action.
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- Objective-C Memory Management Essentials
- Reporting with Visual Studio and Crystal Reports
- Cocos2D-X權(quán)威指南(第2版)
- 高效微控制器C語言編程
- SQL Server 2016從入門到精通(視頻教學(xué)超值版)
- DevOps入門與實(shí)踐
- Java:Data Science Made Easy
- Java虛擬機(jī)字節(jié)碼:從入門到實(shí)戰(zhàn)
- Silverlight魔幻銀燈
- HTML5+CSS3網(wǎng)站設(shè)計(jì)教程
- Linux Device Drivers Development
- Microsoft Azure Storage Essentials
- 動(dòng)手學(xué)數(shù)據(jù)結(jié)構(gòu)與算法
- Moodle 3 Administration(Third Edition)