AndroidのテストをRobolectric, Mockito, PowerMockを使用して行うように環境を整えます。【Android】Robolectirc & Mockito & PowerMockでテストする Posted in Android By Yohei On 2014/05/14 今回はAndroidのテストにPowerMockを仲間にいれようという話です。 簡単な説明 Robolectric Androidのテストが高速かつJunit4を使えるのですごく便利になります。導入はこちらから。 Mockitoではfinalクラスのモックオブジェクト作成や、static finalなフィールド変数の変更ができません。PowerMockを使うとそれが出来てしまう強力なモックライブラリーなります。 導入方法 Robolectric, Mockitoについては下記を参照して下さい。
※一度書いた内容が不完全だったので書き直してます 以下のようなコードで、SocketChannelをモック化して、catch IOExceptionを確認したいと思います。 モックライブラリは「mockito」を使います。 public class App { public void method(SocketChannel channel) throws IOException { if (channel.isOpen()) { try { channel.close(); } catch (IOException e) { // do anything.. } } } } SocketChannelをモックオブジェクトとして、isOpenとcloseの振る舞いを変えたいところですが、finalメソッドなのでモック化できません。 そこでPowerMockを組み合わせます。 Mavenを使
Android Gradle Pluginでduplicate files during packaging of APKエラーAndroidIntelliJgradleAndroidStudio Error:Gradle: duplicate files during packaging of APK /git/intellij/example/app/build/outputs/apk/app-debug-unaligned.apk Error:Gradle: Execution failed for task ':app:packageDebug'. > Duplicate files copied in APK META-INF/LICENSE.txt File 1: /Users/test/.gradle/caches/modules-2/files-2.1/org.apache
mockito-allとdexmakerをdepencenciesに追加すると、dex化の段階でjava.lang.IllegalArgumentException: already added: Lorg/hamcrest/BaseDescription;というエラーが発生します。 このエラーは、dexmaker-mockitoのdependenciesであるhamcrest-coreに含まれるクラスがmockito-allにも含まれるため発生します。 dependencies { ... instrumentTestCompile "com.google.dexmaker:dexmaker:${dexmakerVersion}" instrumentTestCompile "com.google.dexmaker:dexmaker-mockito:${dexmakerVersion}"
Android で mockito を使う場合は、mockito と dexmaker の jar を libs フォルダに入れるだけで良いのですが、それだけだとどうも DI に失敗するパターンがあるようです。詳細までは追えていませんが、下記のパターンそれぞれに対処が必要でした(私の場合は両者の同時対処が必要でした…) パターン1 Caused by: java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167) at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrat
お客様各位 日頃よりサウンドハウスをご利用頂き誠にありがとうございます。 突然ですがこのたびサウンドハウスは楽天への出店をとりやめることと致しました。 サウンドハウスはこれまで3年間、楽天市場に商品を掲載しておりました。ところがこの度、楽天は一方的に弊社の決済口座としては楽天銀行の口座に一本化するということを決め、お客様に告知しました。出店店舗の銀行口座を勝手に開設し、決済用口座としてはその口座しか認めないということは、これまでの日本の商習慣ではありえないことです。 この事態に対して、楽天には詳細説明、及び即時撤回を申し入れましたが、納得できる説明もなく、口座の取り消しも実行しないことが判明したため、弊社ではやむを得ず、楽天との取引を中止することと致しました。国内トップのインターネット事業を営む楽天が、自社グループの利益のみを追い求め、出店している店舗に対して一方的にこのような暴挙を行うこ
https://twitter.com/ccc_privacy_bot 作った経緯 Tカードが個人情報を提携企業に提供開始 個人情報提供の停止 手続きガイド|CCC カルチュア・コンビニエンス・クラブ株式会社 ツタヤTカード、勝手に個人情報を第三者へ提供?規約改定炎上騒動の真相 CCCに聞く | ビジネスジャーナル 個人情報提供の中止はいつでもできるが、「提供先企業は随時増える」「提供先企業が増えてもCCCからは通知は来ない」「新規企業は何もしないとデフォルトで個人情報提供する設定」というユーザフレンドリーじゃない仕様 毎日PDFをチェックしにいくほど暇じゃないのでボット作るか という感じ ボット自体は半月くらい前にはできてたのですが、2回目以降のCCCの更新が取得できるまで公開を控えていました。 【追記】「個人情報」について 語弊あったようなので捕捉 「個人情報」とは言っても、個人情報そ
民主党の海江田代表が「何の大義名分があって解散するのか」と安倍総理による大義なき解散総選挙を批判しています。 BLOGOS記事から。 民主党2014年11月17日 21:24 「何の大義名分があって解散するのか」海江田代表、安倍総理による大義なき解散総選挙を批判 http://blogos.com/article/99006/ 海江田代表は「どこの政党がこんな状況のなかで来年10月の状態で上げろと言っているのか。私の知る限りそういう政党はどこにもない」と発言、「国民の信を問う大義名分がない」としています。 安倍総理が消費税増税を先送りさせるために国民に信を問うために解散・総選挙を行うなどとしている点については、「私どもは来年の10月の消費税増税に対して、とても上げる環境にないと申し上げている。どこの政党がこんな状況のなかで来年10月の状態で上げろと言っているのか。私の知る限りそういう政党は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く