For one, having separate test modules also allows you to isolate the test dependencies from each other.
On Tuesday, October 7, 2014 10:41:11 PM UTC-7, Jake Wharton wrote: > > This is a function of a lack of support for multiple test source sets in a > single module by Android Studio. If this was remedied what actual use case > would there be for depending on an app module? > > On Tue, Oct 7, 2014 at 6:45 PM, Michael Wallstedt <[email protected] > <javascript:>> wrote: > >> The following blog outlines a solution for having test code depend upon >> the application directly. This seems like a somewhat elaborate workaround >> for what should be a fairly common case. Is there a better way? >> >> >> http://blog.blundell-apps.com/android-gradle-app-with-robolectric-junit-tests/ >> >> On Thursday, July 24, 2014 5:39:59 PM UTC-7, Siva Velusamy wrote: >>> >>> Thanks for the test case. I understand your question now, and yes, I >>> don't think depending on an Android application would work. You'd either >>> put your tests inside your app itself, or create a jar. >>> >>> >>> On Thu, Jul 24, 2014 at 2:53 PM, Michael Wallstedt <[email protected] >>> > wrote: >>> >>>> I've attached a simple application that demonstrates the issue. With >>>> this example, if I invoke the gradle task project-test:compileDebugJava, >>>> the compilation fails with: >>>> >>>> /usr/local/google/home/mikewallstedt/dev/bigtop_ >>>> android/test_proj_poc/project-test/java/com/google/example/test/MainTest.java:3: >>>> >>>> error: cannot find symbol >>>> import com.google.example.Main; >>>> ^ >>>> symbol: class Main >>>> location: package com.google.example >>>> /usr/local/google/home/mikewallstedt/dev/bigtop_ >>>> android/test_proj_poc/project-test/java/com/google/example/test/MainTest.java:6: >>>> >>>> error: cannot find symbol >>>> private Main main; >>>> ^ >>>> symbol: class Main >>>> location: class MainTest >>>> 2 errors >>>> :project-test:compileDebugJava FAILED >>>> >>>> >>>> >>>> On Monday, July 14, 2014 6:20:49 PM UTC-7, Siva Velusamy wrote: >>>> >>>>> Could you provide a sample project that demonstrates this issue? Just >>>>> a simple "Hello world" app module and an additional test module would do. >>>>> >>>>> >>>>> On Mon, Jul 14, 2014 at 6:08 PM, Michael Wallstedt < >>>>> [email protected]> wrote: >>>>> >>>>>> I have a project with separate modules for several libraries, a >>>>>> module for the application, and another module for the tests. In the >>>>>> test >>>>>> module, there are references back to the application, which IntelliJ >>>>>> seems >>>>>> to handle just find (i.e. ctrl+click takes me where I expect). However, >>>>>> if >>>>>> I "make" the test module, there are several errors about missing symbols >>>>>> from the application. >>>>>> >>>>>> I assume that when gradle eventually calls out to javac, the >>>>>> classpath is missing a reference to the application source. Could this >>>>>> be >>>>>> because the application module is generated from the >>>>>> 'com.android.application' plugin, as opposed to 'com.android.library'? I >>>>>> suppose I could extract another library just for the source that is >>>>>> referenced in tests, and wrap that with a thin shell to create the >>>>>> actual >>>>>> application, but this seems rather heavy handed. Is there a better way? >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "adt-dev" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "adt-dev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "adt-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
