「Android/kotlin/UnitTest/基本」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「 プロジェクト直下で実行 <pre> # ローカル単体テスト(tests側) $ ./gradlew test 34 actionable tasks: 20 executed, 14 up-to-date # インストゥルメ...」) |
|||
| 行1: | 行1: | ||
| + | ==テスト作成== | ||
| + | 一旦プロジェクトをAndroidStudioのkotlinで新規で作る | ||
| + | |||
| + | 以下が作られてるので確認。 | ||
| + | |||
| + | UnittestApplication/app/src/test/java/com/example/unittestapplication/ExampleUnitTest.kt | ||
| + | <pre> | ||
| + | package com.example.unittestapplication | ||
| + | |||
| + | import org.junit.Test | ||
| + | |||
| + | import org.junit.Assert.* | ||
| + | |||
| + | /** | ||
| + | * Example local unit test, which will execute on the development machine (host). | ||
| + | * | ||
| + | * See [testing documentation](http://d.android.com/tools/testing). | ||
| + | */ | ||
| + | class ExampleUnitTest { | ||
| + | @Test | ||
| + | fun addition_isCorrect() { | ||
| + | assertEquals(4, 2 + 2) | ||
| + | } | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | app/src/androidTest/java/com/example/unittestapplication/ExampleInstrumentedTest.kt | ||
| + | <pre> | ||
| + | package com.example.unittestapplication | ||
| + | |||
| + | import androidx.test.platform.app.InstrumentationRegistry | ||
| + | import androidx.test.ext.junit.runners.AndroidJUnit4 | ||
| + | |||
| + | import org.junit.Test | ||
| + | import org.junit.runner.RunWith | ||
| + | |||
| + | import org.junit.Assert.* | ||
| + | |||
| + | /** | ||
| + | * Instrumented test, which will execute on an Android device. | ||
| + | * | ||
| + | * See [testing documentation](http://d.android.com/tools/testing). | ||
| + | */ | ||
| + | @RunWith(AndroidJUnit4::class) | ||
| + | class ExampleInstrumentedTest { | ||
| + | @Test | ||
| + | fun useAppContext() { | ||
| + | // Context of the app under test. | ||
| + | val appContext = InstrumentationRegistry.getInstrumentation().targetContext | ||
| + | assertEquals("com.example.unittestapplication", appContext.packageName) | ||
| + | } | ||
| + | } | ||
| + | </pre> | ||
プロジェクト直下で実行 | プロジェクト直下で実行 | ||
2021年2月3日 (水) 18:15時点における版
テスト作成
一旦プロジェクトをAndroidStudioのkotlinで新規で作る
以下が作られてるので確認。
UnittestApplication/app/src/test/java/com/example/unittestapplication/ExampleUnitTest.kt
package com.example.unittestapplication
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}
app/src/androidTest/java/com/example/unittestapplication/ExampleInstrumentedTest.kt
package com.example.unittestapplication
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.example.unittestapplication", appContext.packageName)
}
}
プロジェクト直下で実行
# ローカル単体テスト(tests側) $ ./gradlew test 34 actionable tasks: 20 executed, 14 up-to-date # インストゥルメント化単体テスト(androidTests側) $ ./gradlew connectedAndroidTest 50 actionable tasks: 30 executed, 20 up-to-date
公式参考:https://developer.android.com/studio/test/command-line?hl=ja#AMOptionsSyntax
stopped Daemonsエラーが出る場合
$ ./gradlew test
Starting a Gradle Daemon, 1 busy and 1 stopped Daemons could not be reused, use --status for details
> Starting Daemon
FAILURE: Build failed with an exception.
* What went wrong:
Gradle could not start your build.
> Could not create service of type FileAccessTimeJournal using GradleUserHomeScopeServices.createFileAccessTimeJournal().
> Timeout waiting to lock journal cache (~/.gradle/caches/journal-1). It is currently in use by another Gradle instance.
Owner PID: 84782
Our PID: 86617
Owner Operation:
Our operation:
Lock file: ~/.gradle/caches/journal-1/journal-1.lock
killすれば良い。
kill -9 84782
