apter-tech / junit5-robolectric-extension

This repository aims to bridge the gap between JUnit 5 and Robolectric, enabling developers to leverage the benefits of both frameworks for unit testing Android applications. While Robolectric currently lacks a dedicated JUnit 5 extension, this project proposes a community-driven solution to achieve seamless integration.
Apache License 2.0
41 stars 2 forks source link

Couldn't create lock file in attempt to run an example of Basic usage #77

Closed vkuts-iqmessenger closed 1 month ago

vkuts-iqmessenger commented 1 month ago

Hello! Seems that incorrect files naming is used on Windows. The plugin version: id 'tech.apter.junit5.jupiter.robolectric-extension-gradle-plugin' version '0.7.0' And the Robolectric dependency is: testImplementation 'org.robolectric:robolectric:4.12.1'

Couldn't create lock file C:\Users\vkuts\org.robolectric:android-all-instrumented:13-robolectric-9030017-i6.lock java.lang.IllegalStateException: Couldn't create lock file C:\Users\vkuts\org.robolectric:android-all-instrumented:13-robolectric-9030017-i6.lock at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.whileLocked(JUnit5MavenDependencyResolver.kt:81) at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.getLocalArtifactUrls(JUnit5MavenDependencyResolver.kt:48) at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:78) at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:129) at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:143) at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.(AndroidSandbox.java:128) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxBuilder.createClassLoader(JUnit5RobolectricSandboxBuilder.kt:62) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxBuilder.build(JUnit5RobolectricSandboxBuilder.kt:37) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxManager.getAndroidSandbox(JUnit5RobolectricSandboxManager.kt:43) at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:248) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunner.sdkEnvironment(JUnit5RobolectricTestRunner.kt:51) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunner.bootstrapSdkEnvironment(JUnit5RobolectricTestRunner.kt:48) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunnerHelper.sdkEnvironment(JUnit5RobolectricTestRunnerHelper.kt:29) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunnerHelper.proceedInvocation(JUnit5RobolectricTestRunnerHelper.kt:66) at tech.apter.junit.jupiter.robolectric.RobolectricExtension.interceptBeforeAllMethod(RobolectricExtension.kt:63) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) Suppressed: java.lang.IllegalStateException: Couldn't create lock file C:\Users\vkuts\org.robolectric:android-all-instrumented:13-robolectric-9030017-i6.lock at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.whileLocked(JUnit5MavenDependencyResolver.kt:81) at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.getLocalArtifactUrls(JUnit5MavenDependencyResolver.kt:48) at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:78) at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:129) at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:143) at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.(AndroidSandbox.java:128) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxBuilder.createClassLoader(JUnit5RobolectricSandboxBuilder.kt:62) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxBuilder.build(JUnit5RobolectricSandboxBuilder.kt:37) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricSandboxManager.getAndroidSandbox(JUnit5RobolectricSandboxManager.kt:43) at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:248) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunner.sdkEnvironment(JUnit5RobolectricTestRunner.kt:51) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunner.bootstrapSdkEnvironment(JUnit5RobolectricTestRunner.kt:48) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunnerHelper.sdkEnvironment(JUnit5RobolectricTestRunnerHelper.kt:29) at tech.apter.junit.jupiter.robolectric.internal.JUnit5RobolectricTestRunnerHelper.proceedInvocation(JUnit5RobolectricTestRunnerHelper.kt:66) at tech.apter.junit.jupiter.robolectric.RobolectricExtension.interceptAfterAllMethod(RobolectricExtension.kt:145) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085) ... 1 more Caused by: java.io.FileNotFoundException: C:\Users\vkuts\org.robolectric:android-all-instrumented:13-robolectric-9030017-i6.lock (The filename, directory name, or volume label syntax is incorrect) at java.base/java.io.RandomAccessFile.open0(Native Method) at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:345) at java.base/java.io.RandomAccessFile.(RandomAccessFile.java:259) at java.base/java.io.RandomAccessFile.(RandomAccessFile.java:214) at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.whileLocked(JUnit5MavenDependencyResolver.kt:73) ... 17 more Caused by: java.io.FileNotFoundException: C:\Users\vkuts\org.robolectric:android-all-instrumented:13-robolectric-9030017-i6.lock (The filename, directory name, or volume label syntax is incorrect) at java.base/java.io.RandomAccessFile.open0(Native Method) at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:345) at java.base/java.io.RandomAccessFile.(RandomAccessFile.java:259) at java.base/java.io.RandomAccessFile.(RandomAccessFile.java:214) at tech.apter.junit.jupiter.robolectric.internal.JUnit5MavenDependencyResolver.whileLocked(JUnit5MavenDependencyResolver.kt:73) ... 15 more