NSDate-Escort という NSDate
のカテゴリライブラリを作った話
#import <NSDate+Escort.h>
// today から 7日後 のNSDateを取得する
NSDate *today = [NSDate date];
NSDate *nextWeekDate = [today dateByAddingDays:7];
// 2つの NSDateを比較した真偽値を取得する
NSDate *yesterday = [NSDate dateYesterday];
BOOL isEarlier = [yesterday isEarlierThanDate:today];// => YES
QuickCheckは、一定の規則に従った値をランダムに生成して、それを使って複数回(だいたい100回くらいっぽいです)のテストケースを実行する、という仕組みです。 ユースケースとしては何らかの不変なロジックに対して、自分で生成する分では補いきれないケースをランダムで生成し、テストしてくれる、
ランダムテストライブラリ、NLTQuickCheck作った - yaakaito's diary
QuickCheckライブラリは NLTQuickCheck を使った
例)
引数に-1 を渡したら -1 される
引数に 0 を渡したら +0 される
引数に 1 を渡したら +1 される
…
=> メソッドのロジックは不変、これを網羅するパターンを毎回書くのは大変
Coveralls を使いためにコードカバレッジを取る!!
コードカバレッジを計測してみる前は”目安に過ぎないから計測してもしなくても大差ない”というような気がしていたのですが、 計測してその結果を活用して開発をしてみると”無意味な変更でパーセンテージが変化する場合があるから目安”なのかなと思いました。 で、結局目安と言いながらも明らかにカバーできていない箇所を発見できたりして開発にとても役立つ
コードカバレッジを計測してみた感想
Botと戯れる
LICENSE
ファイルを作るLICENSE
ファイルを生成する
pod spec create
でテンプレートを作成できるpod spec create <Name>
pod spec lint
でWarningがなくなるまで繰り返すpod spec lint
でエラーがでないpodspecを作る
$ cd ~/.cocoapods/master
$ hub fork
$ cp ~/HOGEHOGE.podspec ~/.cocoapods/master/HOGEHOGE/VERSION/
$ git push && Pull Request
pod spec lint
でエラーが出てる場合ははじかれる :git => 'リポジトリURL'
を指定すれば、リポジトリにあるpodspecからインストールできるPodfile に以下のように書く
pod 'NSDate-Escort', :git => 'https://github.com/azu/NSDate-Escort.git'