Thanks Jake. That makes sense.

Also, I like the workaround for the build type. pretty slick!


On Thu, Apr 24, 2014 at 12:25 AM, Jake Wharton <[email protected]>wrote:

> And to specifically answer your question, no you cannot duplicate a class
> in the app and the test app. The device loads the classes from both APKs
> inside the same process using the same class loader when invoking and
> running your tests.x
>
>
> On Thu, Apr 24, 2014 at 12:24 AM, Jake Wharton <[email protected]>wrote:
>
>> The easiest way that we've found to have test specific classes is to add
>> another build type and change the instrumentation tests to use it instead
>> of debug or release.
>>
>>
>> On Thu, Apr 24, 2014 at 12:04 AM, Kaushik Gopal <[email protected]> wrote:
>>
>>> Ah.. this isn't a library project. Its definitely an app project.
>>>
>>> So am I right in understanding that we can't have two versions of the
>>> same class - one in the main source set and the other in the androidTest
>>> source set?
>>>
>>> Is there an alternative strategy then for having "test" specific
>>> versions of a class file (as we have in the case of different product
>>> flavors ?)
>>> On Apr 23, 2014 9:55 PM, "Xavier Ducrohet" <[email protected]> wrote:
>>>
>>>>  Is this a library project?
>>>>
>>>> For library project, the code of the library is packaged with the code
>>>> of the test in a single apk, so you cannot have the same class twice.
>>>>
>>>> For app project, when loading the test apk, the Android runtime will
>>>> complain if it finds the same class in both the tested app and the test app
>>>> so you cannot do that either.
>>>>
>>>>
>>>> On Wed, Apr 23, 2014 at 8:33 PM, Kaushik Gopal <[email protected]> wrote:
>>>>
>>>>> I'm using gradle for my android build process. Is it possible to have
>>>>> a specific version of a class in the androidTest folder, for the test
>>>>> environment alone?
>>>>>
>>>>> I know you cannot have classes at a different build levels i.e. we
>>>>> cannot have the same class across a "buildType" (debug/release),
>>>>> "productFlavor"(flavor1, flavor2, default) or "source
>>>>> set"(main/androidTest) so:
>>>>>
>>>>> - debug + flavor1 = not allowed
>>>>> - flavor1 + main = not allowed
>>>>> - main + debug = not allowed
>>>>>
>>>>> - flavor1 + flavor2 = allowed
>>>>> - debug + release = allowed
>>>>>
>>>>> so my expectation would be that
>>>>>
>>>>> - main + androidTest = allowed (because they are at the same build
>>>>> level i.e. source set)
>>>>>
>>>>> But this does not seem to be the case. I get a duplicate class file.
>>>>> Can someone let me know of a way to achieve this?
>>>>>
>>>>> *My reasoning as to why I would want this is because, for testing
>>>>> alone i want to inject mock modules, based on a strategy recommended here
>>>>> <http://stackoverflow.com/questions/23233362/getting-dagger-to-inject-mock-objects-when-doing-espresso-functional-testing-for>.*
>>>>>
>>>>>  --
>>>>> 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.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Xavier Ducrohet
>>>> Android SDK Tech Lead
>>>> Google Inc.
>>>> http://developer.android.com | http://tools.android.com
>>>>
>>>> Please do not send me questions directly. Thanks!
>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "adt-dev" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/adt-dev/RY7J8w6QOG4/unsubscribe.
>>>> To unsubscribe from this group and all its topics, 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 a topic in the
> Google Groups "adt-dev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/adt-dev/RY7J8w6QOG4/unsubscribe.
> To unsubscribe from this group and all its topics, 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.

Reply via email to