SlideShare a Scribd company logo
1 of 51
Download to read offline
iPhone  SDK  勉強会


iOSアプリケーションの
     Unit  Test
iPhone  SDK  勉強会

                            参考URL

iOS  App  Development  Workflow  Guide
http://developer.apple.com/library/ios/#documentation/Xcode/
Conceptual/ios_̲development_̲workflow/135-‐‑‒Unit_̲Testing_̲Applications/
unit_̲testing_̲applications.html
iPhone  SDK  勉強会



テストを習慣化するには
iPhone  SDK  勉強会

       なぜテストを書かないか

•めんどう
•(UIなどと⽐比べて)  効果がわかりにくい
•iPhoneアプリのテストってどう書いていいかわか
らない
etc.
iPhone  SDK  勉強会

 ツール/フレームワークを使う

•繰り返し実⾏行行するのが簡単
•⾃自動化できる
•テスト結果として⾒見見えるようになる
iPhone  SDK  勉強会
          無理理をしない
•モデルのテストは書きやすいし、論論理理構造が変わ
ることは少ないので、繰り返し実⾏行行するメリットが
⼤大きいのできちんと  (正常、異異常、例例外、境界値、
etc)  書いたほうがいい
•いっぽう表⽰示については論論理理構造がひっくり返る
ような変更更もよくあるし、そもそも何が正しいとい
う状態を決定しにくいものなので、無理理に書こうと
しない。
iPhone  SDK  勉強会
  とはいえ、テストしやすい
  コードを書く努⼒力力はしよう
•テストしやすいコードはほかから使いやすいコー
ドなので、良良い設計につながる。
(カメラの画像を加⼯工するようなメソッドは、画像の
取得と加⼯工を分ける、
位置情報を使う場合はラッパーを1枚はさむと⾃自由
な値を返しやすくなる、など)
iPhone  SDK  勉強会
                     無理理をしない
- (id)init {
    self = [super init];
    if (self) {
        service = [[LDRService alloc] init];
        service.delegate = self;
    }
    return self;
                          [self	
  init]	
   	
  nil	
  
}
                                                    100%
iPhone  SDK  勉強会

 ツール/フレームワークを使う

•繰り返し実⾏行行するのが簡単
•⾃自動化できる
•テスト結果として⾒見見えるようになる
iPhone  SDK  勉強会


単体テストをワークフローに
    取り⼊入れる
iPhone  SDK  勉強会


OCUnit  (aka  SenTestingKit)

          GHUnit
iPhone  SDK  勉強会


OCUnit  (aka  SenTestingKit)

          GHUnit

       GHUnitがオススメ
iPhone  SDK  勉強会



OCUnit  と  GHUnit  の違い
iPhone  SDK  勉強会
    OCUnit                 GHUnit
•Xcode標準           •Xcode⾮非標準
•XCodeと統合されたUI     •テストランナーの独⾃自UI
•Assertマクロが必要最⼩小   •Assertマクロが若若⼲干多い
限しかない              •setUpClass  がある
•⾮非同期のテストが(その      •⾮非同期のテストが可能
ままでは)できない          •OCUnitのテストケースも実
                   ⾏行行可能
                   •Viewの表⽰示テストができる
iPhone  SDK  勉強会
    OCUnit          GHUnit
•コマンドラインで実⾏行行   •コマンドラインで実⾏行行
•CIとの連携         •CIとの連携
iPhone  SDK  勉強会



  環境設定  (OCUnit)
Xcode標準
iPhone  SDK  勉強会
iPhone  SDK  勉強会



  環境設定  (GHUnit)
導⼊入に⼿手順が必要
iPhone  SDK  勉強会
導⼊入に⼿手順が必要
iPhone  SDK  勉強会
導⼊入に⼿手順が必要
iPhone  SDK  勉強会
導⼊入に⼿手順が必要
iPhone  SDK  勉強会
iPhone  SDK  勉強会



 結果の表⽰示  (OCUnit)
テスト結果の表⽰示
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会



 結果の表⽰示  (GHUnit)
テスト結果の表⽰示
iPhone  SDK  勉強会
iPhone  SDK  勉強会



Assertの種類  (OCUnit)
iPhone  SDK  勉強会
STFail
STAssertEqualObjects
STAssertEquals
STAssertEqualsWithAccuracy
STAssertNil
STAssertNotNil
STAssertTrue
STAssertFalse
STAssertThrows
STAssertThrowsSpecific
STAssertThrowsSpecificNamed
STAssertNoThrow
STAssertNoThrowSpecific
STAssertNoThrowSpecificNamed
STAssertTrueNoThrow
STAssertFalseNoThrow
iPhone  SDK  勉強会



Assertの種類  (GHUnit)
GHAssertNoErr(a1, description, ...)
GHAssertErr(a1, a2, description, ...)


          iPhone  SDK  勉強会
GHAssertNotNULL(a1, description, ...)
GHAssertNULL(a1, description, ...)
GHAssertNotEquals(a1, a2, description, ...)
GHAssertNotEqualObjects(a1, a2, desc, ...)
GHAssertOperation(a1, a2, op, description, ...)
GHAssertGreaterThan(a1, a2, description, ...)
GHAssertGreaterThanOrEqual(a1, a2, description, ...)
GHAssertLessThan(a1, a2, description, ...)
GHAssertLessThanOrEqual(a1, a2, description, ...)
GHAssertEqualStrings(a1, a2, description, ...)
GHAssertNotEqualStrings(a1, a2, description, ...)
GHAssertEqualCStrings(a1, a2, description, ...)
GHAssertNotEqualCStrings(a1, a2, description, ...)
GHAssertEqualObjects(a1, a2, description, ...)
GHAssertEquals(a1, a2, description, ...)
GHAbsoluteDifference(left,right) (MAX(left,right)-MIN(left,right))
GHAssertEqualsWithAccuracy(a1, a2, accuracy, description, ...)
GHFail(description, ...)
GHAssertNil(a1, description, ...)
GHAssertNotNil(a1, description, ...)
GHAssertTrue(expr, description, ...)
GHAssertTrueNoThrow(expr, description, ...)
GHAssertFalse(expr, description, ...)
GHAssertFalseNoThrow(expr, description, ...)
GHAssertThrows(expr, description, ...)
GHAssertThrowsSpecific(expr, specificException, description, ...)
GHAssertThrowsSpecificNamed(expr, specificException, aName, description, ...)
GHAssertNoThrow(expr, description, ...)
GHAssertNoThrowSpecific(expr, specificException, description, ...)
GHAssertNoThrowSpecificNamed(expr, specificException, aName, description, ...)
iPhone  SDK  勉強会


SetupClass/tearDownClass  
        (GHUnit)
implementation MyTest

//

            iPhone  SDK  勉強会
- (void)setUp { }

//
- (void)tearDown { }

//
- (void)setUpClass { }

//
- (void)tearDownClass { }

// Tests are prefixed by 'test' and contain no arguments and no return
value
- (void)testA { }

// Another test; Tests are run in lexical order
- (void)testB { }

// Override any exceptions; By default exceptions are raised, causing a
test failure
- (void)failWithException:(NSException *)exception { }

@end
iPhone  SDK  勉強会



⾮非同期のテスト  (GHUnit)
#import <GHUnitIOS/GHUnit.h>


           iPhone  SDK  勉強会
@interface LDRLoginTest : GHAsyncTestCase {
    SEL currentTest;
}

@end


@implementation LDRLoginTest

- (void)testLoginSucceeded {
    [self prepare];

    currentTest = _cmd;

    LDRService *service = [LDRService service];
    service.delegate = self;
    service.username = @"kishikawakatsumi";
    service.password = @"password1234";
    [service login];

       [self waitForStatus:kGHUnitWaitStatusSuccess timeout:10.0];
}
- (void)serviceLoginSucceeded:(LDRService *)service {
    if (service.APIKey != nil) {
       iPhone  SDK  勉強会
        [self notify:kGHUnitWaitStatusSuccess
         forSelector:@selector(testLoginSucceeded)];
    } else {
        [self notify:kGHUnitWaitStatusFailure
         forSelector:@selector(testLoginSucceeded)];
    }
}

- (void)service:(LDRService *)service
loginFailedWithError:(NSError *)error {
   [self notify:kGHUnitWaitStatusFailure
    forSelector:@selector(testLoginSucceeded)];
}

@end
iPhone  SDK  勉強会


OCUnitのテストケースを実⾏行行
       (GHUnit)
OCUnitのテストケースを実⾏行行
 iPhone  SDK  勉強会



            OCUnit
iPhone  SDK  勉強会



Viewのテスト  (GHUnit)
#import <GHUnitIOS/GHUnit.h>

       iPhone  SDK  勉強会
@interface LoginViewTest : GHViewTestCase

@end


#import "LoginViewTest.h"
#import "LoginViewController.h"

@implementation LoginViewTest

- (void)testLoginViewController {
    LoginViewController *viewController =
     [[LoginViewController alloc]
        initWithNibName:@"LoginViewController" bundle:nil];

    GHVerifyView(viewController.view);
}

@end
iPhone  SDK  勉強会
iPhone  SDK  勉強会
             まとめ

•iOS  の  単体テストフレームワークはOCUnit  と  
GHUnit
•GHUnitがオススメ
•実⾏行行環境は1度度作っておけば汎⽤用的に使えるの
で覚えておいて損はない
iPhone  SDK  勉強会


        おまけ
GHUnit  のセットアップ
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
iPhone  SDK  勉強会
#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc,
                                 argv,
                                 nil,
                                 @"GHUnitIOSAppDelegate");
    }
}

More Related Content

What's hot

JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
IDEを目指す開発者コンソール
IDEを目指す開発者コンソールIDEを目指す開発者コンソール
IDEを目指す開発者コンソールminoaw
 
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsiOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsYusuke Kita
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Akira Inoue
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略Naoki Umehara
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step GuideMasahiro Hidaka
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために健一 辰濱
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンスNozomi Ito
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOStoyship
 
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-Cモックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-CShoichi Matsuda
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Shuji Watanabe
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。Daisuke Yamashita
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルにHiroko Tamagawa
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitectureTomoaki Imai
 
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編Koji Hasegawa
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるNozomi Ito
 
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVRVRの入力デバイス #JAGVR
VRの入力デバイス #JAGVRKoji Hasegawa
 

What's hot (20)

JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
IDEを目指す開発者コンソール
IDEを目指す開発者コンソールIDEを目指す開発者コンソール
IDEを目指す開発者コンソール
 
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsiOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotips
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step Guide
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOS
 
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-Cモックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitecture
 
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVRVRの入力デバイス #JAGVR
VRの入力デバイス #JAGVR
 

Similar to iOSアプリケーションの Unit Test

Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストYoichiro Sakurai
 
Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能Shingo Sato
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上Tatsuya Ishikawa
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書くYusuke Kita
 
Xcode and iTC submission topics
Xcode and iTC submission topicsXcode and iTC submission topics
Xcode and iTC submission topicsSyo Ikeda
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCITakafumi Ikeda
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要kuroiwa
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Shinya Nakajima
 
Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編株式会社 NTTテクノクロス
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発Daizen Ikehara
 

Similar to iOSアプリケーションの Unit Test (20)

Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
 
Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能
 
Driverについて
DriverについてDriverについて
Driverについて
 
XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawaJenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
CLRH_120414_WFTDD
CLRH_120414_WFTDDCLRH_120414_WFTDD
CLRH_120414_WFTDD
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書く
 
Xcode and iTC submission topics
Xcode and iTC submission topicsXcode and iTC submission topics
Xcode and iTC submission topics
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
 
Gws in fukuoka
Gws in fukuokaGws in fukuoka
Gws in fukuoka
 
Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Recently uploaded (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

iOSアプリケーションの Unit Test