Welcome! The TDD-Albums-II tutorial is a sequel to the original TDD-Albums library from 2015. The TDD-Albums library started as a hands-on tutorial for a few iPhone developers at eBay that were interested in learning Test-Driven Development. Our previous tutorial was written using Objective-C and UIKit. The TDD-Albums-II tutorial has been rewritten (from scratch) using the latest versions of Swift (5.5) and SwiftUI.
Like our previous tutorial, we will cover topics familiar to iOS engineers, like networking and concurrency, while working (almost) totally from TDD. Our tutorial also introduces topics familiar to TDD engineers, like dependency-injection and test-double types, while working from Swift, SwiftUI, and a little Objective-C.
TDD-Albums-II is appropriate for iOS engineers that have never attempted TDD (or never written a unit-test). Having said that, TDD-Albums-II is not intended as a tutorial to learn iOS engineering. It will be assumed that you have a strong competency in Swift and SwiftUI. You should also have a working knowledge of Objective-C.
Open the Wiki for step-by-step instructions.
This project requires Xcode 13.1 or later.
Copyright © 2021 North Bronson Software
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. In addition, no permission is required from the rights-holder(s) for scholarly, educational, or non-commercial uses. For other uses, you need to obtain permission from the rights-holder(s).
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.