Swift TDD - Test Driven Development for Swift no more bugs
- 2.5 hours on-demand video
- 2 articles
- 1 downloadable resource
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Understand Test Driven Development (TDD)
- Use apple unit test framework
- Use appe UI test framework
- Create and execute tests for Unit and UI
- Create and execute code coverage
- Create and execute code performance
What is TDD? Why should I learn it? How TDD is going to be beneficial to me? How is this course going to help me?
This and many more questions are answered in this lecture.
In this lecture we will setup the UI using stack view and constraints so our app work across all different devices, it is very import to think about how the user is going to interact with our application since the begining don't matter how simple the application is.
Sometimes test for the fail cases is almost more important (if not more) than test for the fail success cases, make sure that your functions are not returning unexpected values when it receives values out of range, or difference of expect is fundamental to keep your app running without any bugs.
Starting from iOS9 and OS10.11 a new security feature called App Transport Security (ATS) is available to apps and is enabled by default in any new app resulting to any attempts to connect using insecure HTTP to fail. In this lecture we will learn how to configure your info.plist with keys like NSAppTransportSecurity and NSAllowsArbitraryLoads to allow this connections again.
Some times errors can happen in asynchronous calls, that means that the test will finish before the result is back and the XCTAssert will never be executed. We can solve this using expectations, we can set expectations and wait for this expectations to be fulfilled, unfulfilled expectations result in unceseful tests.
When errors happen asynchronous we need to set expectations and wait for this expectations to be fulfilled, in this lecture we will learn how to create this expectations, set a time so it can be fulfilled and how to add more tests as we need inside the expectations
- Students should know how to program in Swift and/or Object-C before start this course
Did you ever had that feeling that you fix one bug and it creates another two? Well it maybe because you are and you don't know because you are not adopting TDD
If you are already a Swift developer and want to be the best in the field this course is for you, Test Driven Development also known as TDD is a must have skill for any serious professional or anyone tired of expend precious time "hunting" for bugs.
Even the best programmer write bug codes, it is almost impossible to write the perfect code, even than, what work today may not work tomorrow, frameworks change, APIs change even the iOS every year we have a new one. Now how to find out if your old code is compatible with this new version? And if not what part isn't? Can you see how a little work before hand can make life much easier in the future?
TDD the concept of start development from the test phase, ensure that all the relevant parts of your code is tested, running the automated test ensure that the new changes you just made didn't create a bug in the old functions.
You may ask, but how really important is TDD? Until XCode 5 TDD was a optional check box when creating an app, in XCode 6 Apple decide that all apps should have TDD so they auto create the Unit tests for you (even if you didn't want to, good on you Apple).
Invest few hours now and few minutes while doing your applications and I promise you that you will save a lot of time and headaches in a short future, be it from clients that find that hidden bug, from your boss that give you long speeches every time one of your items get reopened or from your mother because that app you made to her for mothers day is crashing.
- You should take this course if you a iOS developer (Swift or Object-C)
- You shouldn't take this course if you are a complete beginner as this is an advanced course