官术网_书友最值得收藏!

Chapter 1. Your First Unit Tests

When the iPhone platform was first introduced, applications were small and focused on one feature. It was easy to make money with an app that only did one thing (for example, a flash light app that only showed a white screen). The code for these apps only had a few hundred lines and could easily be tested by tapping the screen for a few minutes.

Since then, the App Store has changed a lot. Even now, there are small apps with a clear focus in the App Store, but it's much harder to make money from them. A common app is complicated and feature-rich but still needs to be easy to use. There are companies with several developers per platform working on one app all the time. These apps sometimes have a feature set, which is normally found in desktop applications. It is very difficult and time consuming to test all the features on such apps by hand.

One reason for this is that manual testing needs to be done through a user interface, and it takes time to load the app to be tested. In addition to this, human beings are very slow as compared to the capabilities of computers. Most often, you'll notice that a computer waits for the next input of the user. If we could let a computer insert values, testing could be drastically accelerated. Additionally, the computer could test the features of the app without loading the user interface; thus, the complete app could be tested within seconds. This is exactly what unit tests are all about.

Writing unit tests is hard at first because it is a new concept. This chapter is aimed at helping you get started with unit tests and how they are used in Xcode. We will also discuss Test-Driven Development (TDD), which forces us to write the tests before the implementation code. We will see how TDD is implemented in Xcode, and we will discuss its advantages and disadvantages.

We will cover the following topics in this chapter:

  • Building your first automatic unit test
  • Understanding TDD
  • TDD in Xcode
  • Advantages of TDD
  • Disadvantages of TDD
主站蜘蛛池模板: 大冶市| 满城县| 寻乌县| 洛川县| 越西县| 柳河县| 石柱| 溧阳市| 浏阳市| 西青区| 湘潭市| 定安县| 景洪市| 三原县| 时尚| 绩溪县| 中山市| 水城县| 阳泉市| 揭阳市| 砀山县| 南和县| 墨玉县| 黎平县| 新营市| 陇南市| 察隅县| 鹤峰县| 高密市| 南安市| 邯郸县| 重庆市| 牟定县| 丰镇市| 吴忠市| 扶风县| 林州市| 额尔古纳市| 抚顺县| 三台县| 肃宁县|