Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

borachio

borachio

使い方

本家と参考サイト

評価

  • cglibを使っていないので(バイトコード変更のできない)Android上でも使用できる。。。というのを大きなメリットとして宣伝しているが、そもそも実機あるいはエミュレータ上でユニットテストを行うということ自体が間違っているので、これは全くメリットとは思えない。
  • ファンクションのモックもできる。これは大きなメリットと言える。
  • そのほか、モックフレームワークとしては当たり前の機能しか持っていないが、これで必要十分。いろいろとおかしなことができても意味がない。それよりも、「タイプセーフ」であることの方が重要。
  • ただし、メソッド名はシンボルで表す。「本物の」メソッド名を使用できるMockitoに比較するとリファクタリングに弱い。

サンプル

サンプル1

import com.borachio._

case class World(val value: Int)

trait Hello {
  def hello(world: World)
}

object BorachioTest extends AbstractMockFactory {
  
  def main(args: Array[String]) {    
    val hello = mock[Hello]      
    resetExpectations    
    hello expects 'hello withArgs(new World(10))    
    hello.hello(new World(10))
  }
}

引数のマッチングは、(当然だが)基本的にequalsによる比較が行われる。