Download presentation
Presentation is loading. Please wait.
Published byTaylor Stuart Modified over 10 years ago
1
Getting Test-y Test-driven Development & Automated Deployment for iOS
2
Your Humble Speakers Jonah Williams - @Zalambar Rudy Jahchan - @rudy
3
How do we test?
4
SenTestingKit GTM Cedar Kiwi KIF GHUnit OCMock OCHamcrest Frank iCuke
5
Why do we test?
6
To make sure our code works (duh!)
7
Why do we test FIRST?
8
To design our code. (duh!)
9
Why do we test FIRST?
10
Test Structure GIVEN WHEN THEN certain conditions something happens the conditions change (or dont)
11
Unit Testing
13
Sample Class
14
xUnit Style
15
SenTestingKit
16
OCHamcrest http://bit.ly/ochamcrest
17
Stubbing & Mocking
18
OCMock http://bit.ly/qktX3H
19
GTM http://bit.ly/gtmtest
20
GHUnit http://gabriel.github.com/gh-unit/
21
BDD
22
Behavior Driven Design
23
RSpec http://github.com/rspec/rspec
24
RSpec Book
25
Cedar http://github.com/pivotal/cedar
26
Kiwi http://kiwi-lib.info/
27
Integration Tests
28
Cucumber http://cukes.info/
29
iCuke http://github.com/unboxed/icuke
30
iCuke http://github.com/unboxed/icuke
31
Frank http://github.com/moredip/Frank
32
KIF http://github.com/square/KIF
33
KIF http://github.com/square/KIF Keep It Functional
34
KIF http://github.com/square/KIF
35
Continuous Integration
36
Command-Line Builds
37
Command-Line Execution
38
Bash http://gist.github.com/949831 ~./build.sh... **** Describe Workspace Available schemes Information about workspace "My_App": Schemes: Ad Hoc Development **** Set Environment My_App/My_App/staging-Info.plist -> ~/TeamCity/build-agent-1/work/My_App_staging/My_App/My_App/My_App-Info.plist My_App/My_App/staging.plist -> My_App/My_App/environment.plist Environment set to com.MyCompany.My_App.staging at version 1.0 **** Increment Bundle Version Setting version of project My_App to: 24.... **** Build Running xcodebuild > xcodebuild_output...... Retrieving build products...... **** Package Application Codesign as "iPhone Distribution: MyCompany, LLC", embedding provisioning profile ~/TeamCity/build-agent- 1/work/My_App_staging/ad_hoc/My_App_Staging_Ad_Hoc.mobileprovision **** Verify... **** Prepare OTA Distribution Generating com.MyCompany.My_App.staging.app.plist **** Complete!
39
Rake http://gist.github.com/1017153
40
Over The Air Distribution
41
OTA: Roll Your Own http://www.apple.com/DTDs/PropertyList-1.0.dtd items assets kind software-package url $artifacts_url/$project_app.ipa kind full-size-image needs-shine url $artifacts_url/$full_size_image_name kind display-image needs-shine url $artifacts_url/$display_image_name metadata bundle-identifier $bundle_identifier bundle-version $short_version_string $build_number kind software subtitle $environment_name title $project_app itms-services://?action=download-manifest&url=http://host.example/project_name.acceptance.app.plisthttp://host.example/project_name.acceptance.app.plist
42
OTA: TestFlight http://testflightapp.com/
43
Whats Missing?
44
Factories
46
Fixtures
47
CoreData Migrations
48
Auto-testing guard integration https://github.com/guard/guard
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.