まいむぞうです。
> 知っていたら教えてほしいのですが、これって、テスト対象のターゲットと、ユニットテストは、同じプロセスにマッピングされるのですよね?
うーん。
まだlogcatの見方がよくわかってないので、テスト結果部分を貼っておきます。
(サンプルとして、テストに失敗しているログです。パッケージ名はぼかしてます)
以下の場合はpid=820でテストが走っているので、同一プロセスなのかも、と思っています。
(や、よくわかってないのですが)
D/AndroidRuntime( 814):
D/AndroidRuntime( 814): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/AndroidRuntime( 814): CheckJNI is ON
D/AndroidRuntime( 814): --- registering native functions ---
I/jdwp ( 814): received file descriptor 24 from ADB
D/ActivityManager( 46): Uninstalling process com.example.hogepackage
I/ActivityManager( 46): Start proc com.example.hogepackage for added
application com.example.hogepackage: pid=820 uid=10022 gids={3003}
I/jdwp ( 820): received file descriptor 20 from ADB
E/jdwp ( 820): Failed writing handshake bytes: Broken pipe (-1 of 14)
I/dalvikvm( 820): Debugger has detached; object registry had 1 entries
I/TestRunner( 820): started:
testShouldDelete(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): finished:
testShouldDelete(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): passed:
testShouldDelete(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testShouldGetList(com.example.hogepackage.tests.RestfulRailsTest)
D/dalvikvm( 820): GC freed 4447 objects / 284288 bytes in 97ms
I/TestRunner( 820): finished:
testShouldGetList(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): passed:
testShouldGetList(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testShouldGetRecoad(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): finished:
testShouldGetRecoad(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): passed:
testShouldGetRecoad(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testShouldPost(com.example.hogepackage.tests.RestfulRailsTest)
I/jdwp ( 820): received file descriptor 30 from ADB
D/dalvikvm( 820): GC freed 839 objects / 57536 bytes in 83ms
V/RestfulTest( 820): Response code is 422
W/System.err( 820): org.apache.http.client.HttpResponseException:
Response code is 422
W/System.err( 820): at
net.it4myself.util.RestfulRails.DoRequest(RestfulRails.java:93)
W/System.err( 820): at
net.it4myself.util.RestfulRails.Post(RestfulRails.java:55)
W/System.err( 820): at
com.example.hogepackage.tests.RestfulRailsTest.testShouldPost(RestfulRailsTest.java:28)
W/System.err( 820): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 820): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 820): at junit.framework.TestCase.runTest(TestCase.java:154)
W/System.err( 820): at junit.framework.TestCase.runBare(TestCase.java:127)
W/System.err( 820): at
junit.framework.TestResult$1.protect(TestResult.java:106)
W/System.err( 820): at
junit.framework.TestResult.runProtected(TestResult.java:124)
W/System.err( 820): at junit.framework.TestResult.run(TestResult.java:109)
W/System.err( 820): at junit.framework.TestCase.run(TestCase.java:118)
W/System.err( 820): at
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:155)
W/System.err( 820): at
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:142)
W/System.err( 820): at
android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:313)
W/System.err( 820): at
android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1508)
I/TestRunner( 820): failed:
testShouldPost(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): ----- begin exception -----
I/TestRunner( 820):
I/TestRunner( 820): junit.framework.AssertionFailedError
I/TestRunner( 820): at junit.framework.Assert.fail(Assert.java:47)
I/TestRunner( 820): at junit.framework.Assert.assertTrue(Assert.java:20)
I/TestRunner( 820): at junit.framework.Assert.assertTrue(Assert.java:27)
I/TestRunner( 820): at
com.example.hogepackage.tests.RestfulRailsTest.testShouldPost(RestfulRailsTest.java:38)
I/TestRunner( 820): at java.lang.reflect.Method.invokeNative(Native Method)
I/TestRunner( 820): at java.lang.reflect.Method.invoke(Method.java:515)
I/TestRunner( 820): at junit.framework.TestCase.runTest(TestCase.java:154)
I/TestRunner( 820): at junit.framework.TestCase.runBare(TestCase.java:127)
I/TestRunner( 820): at
junit.framework.TestResult$1.protect(TestResult.java:106)
I/TestRunner( 820): at
junit.framework.TestResult.runProtected(TestResult.java:124)
I/TestRunner( 820): at junit.framework.TestResult.run(TestResult.java:109)
I/TestRunner( 820): at junit.framework.TestCase.run(TestCase.java:118)
I/TestRunner( 820): at
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:155)
I/TestRunner( 820): at
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:142)
I/TestRunner( 820): at
android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:313)
I/TestRunner( 820): at
android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1508)
I/TestRunner( 820): ----- end exception -----
I/TestRunner( 820): finished:
testShouldPost(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testShouldPut(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): finished:
testShouldPut(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): passed:
testShouldPut(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): finished:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): passed:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.RestfulRailsTest)
I/TestRunner( 820): started:
testSholdDeleteKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testSholdDeleteKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testSholdDeleteKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testShouldBeAbleToSetAndGet(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testShouldBeAbleToSetAndGet(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testShouldBeAbleToSetAndGet(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testShouldCreateNewDB(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testShouldCreateNewDB(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testShouldCreateNewDB(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testShouldCreateSeed(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testShouldCreateSeed(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testShouldCreateSeed(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testShouldHaveRestoredData(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testShouldHaveRestoredData(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testShouldHaveRestoredData(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testShouldUpdateKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testShouldUpdateKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testShouldUpdateKeys(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): started:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): finished:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.SettingsTest)
I/TestRunner( 820): passed:
testAndroidTestCaseSetupProperly(com.example.hogepackage.tests.SettingsTest)
D/ActivityManager( 46): Uninstalling process com.example.hogepackage
D/ActivityManager( 46): Force removing process
ProcessRecord{434c99d8 820:com.example.hogepackage/10022}
(com.example.hogepackage/10022)
I/Process ( 46): Sending signal. PID: 820 SIG: 9
D/AndroidRuntime( 814): Shutting down VM
> あと、前回のHTTPのサンプルと合わせて、勉強会のWikiに、Hello, HttpとHello,
> Junitのページの「ひながた」を作ったので、良ければ、サンプルを作ってもらえませんか?
はい。了解です。
(自分はRails好きなので)今RESTful用のクラスを作っていて、このクラスは公開しようと思っていたので
このクラスとテストが完成したらチュートリアル風にまとめてみますね。
でも、説明できるほどJavaに慣れてないので、ミスリードの可能性もあるような・・・。
あと、基本的にソースに注釈付けるような感じになりそうな気も・・・。
一旦動いたら、GitHubにでも上げて、確認してもらってからチュートリアル作った方がいいかなぁと、今書きながら思いました。
2008/12/30 6:14 Hideo Kinami <
hki...@gmail.com>:
--