サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
tobi462.hatenablog.com
さて今年も終わりに近づいてきました。 この記事はモバイル 自動化 / 自動テスト Advent Calendar 2017の17日目の記事です。 実はアドベントカレンダーの参加は今回が初めてだったりするのですが、まぁそれはどうでも良いですよね。 Tl;Dr Quick/Nimbleで、独自Macherを作成するとテストコードの可読性が上がるかも? // 標準のMatcherを使用 it("use built-in matcher") { expect(person1.isTeen()).to(beTrue()) expect(person2.isTeen()).to(beFalse()) expect(person1.gender).to(equal(person2.gender)) expect(person1.gender).toNot(equal(person3.gender)) }
なんか面倒だったので書いた。 これがSwift使いの戦い方。たぶん。 Swiftコンパイラに詳しくないけど、こういった構造体でラップするだけのコードって最適化後はゼロコストになるのかしら? (Haskellのnewtypeはゼロコストだったはずだけど)
今回は一番簡単であろう「version」コマンドを見ていく。 VersionCommand 登録 前回も触れたが、main.swiftでCommandRegistryに各コマンドを登録している。 // main.swift let registry = CommandRegistry<CarthageError>() registry.register(VersionCommand()) 「version」コマンドは「VersionCommand」という構造体を生成して登録している。 VersionCommandの定義 実際の定義を見てみると、以下のようになっている。 public struct VersionCommand: CommandType { public let verb = "version" public let function = "Display the curre
Swift力を上げるために、Swiftで書かれたパッケージマネージャ「Carthage」のコードリーディングを始めてみる。 github.com 準備 まずはGitHubリポジトリをclone。 $ git clone https://github.com/Carthage/Carthage.git 次に依存ライブラリをインストール。 $ carthage update --platform mac 関係ないけど、自身の依存関係管理に自身(つまりCarthage)を使ってるのって夢があるよね。 GitやSVNといったVCSほどの感動はないけれど。 エントリポイント どうやらエントリポイントは「main.swift」らしい。 https://github.com/Carthage/Carthage/blob/master/Source/carthage/main.swift まずはCarth
Tomcat7だとorg.apache.tomcat.util.scan.MergedWebXmlという名前で、ServletContextに自動リロードされてマージされた(?)web.xmlの内容がセットされている。 そのせいでSAStrutsのRequestDumpFilterにより、興味のないweb.xmlの内容が大量に履かれてしまう。その場合、web.xmlを以下のように修正。 <filter> <filter-name>requestDumpFilter</filter-name> <filter-class>org.seasar.extension.filter.RequestDumpFilter</filter-class> <init-param> <param-name>beforeContextAttribute</param-name> <param-value>fa
このページを最初にブックマークしてみませんか?
『tobi462.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く