Hi Florian,

The unit testing support is not meant to replace running tests on a device,
they allow you to write a new kind of tests with a shorter iteration time.
Most likely, you won't be able to easily convert your existing tests to
unit tests that mock out all the platform code.

So in short: you should still be running your tests the "old" way. What
exactly is the problem after the upgrade? Can you file a bug at
b.android.com?

Thanks,

Michal

On Wed, Mar 18, 2015 at 2:56 PM florian weigl <[email protected]> wrote:

> I had my test setup as follows:
>
> Tests in the src/androidTest folder, Run Configuration 'Android tests',
> all in module, no specific TestRunner set (Pic1).
> Running my configuration brought up the Run view (shown in Pic2 without
> running tests) and the tests were run  on a connected device, same for
> starting the tests with
> gradlew connectedCheck
>
> After the update to 1.1.0 and the introduction of the new 'unit test
> feature' none of my tests worked the old way. I tried to get them running
> the new way following this
> http://tools.android.com/tech-docs/unit-testing-support guide.
> I have the following problems with this:
>
> 1. When started from the IDE with rightclick -> run, I receive the error
> message
>
> java.lang.RuntimeException: Method getInstrumentation in android.test.
> InstrumentationTestCase not mocked. See https://
> sites.google.com/a/android.com/tools/tech-docs/unit-testing-support for
> details.
>     at android.test.InstrumentationTestCase.getInstrumentation(
> InstrumentationTestCase.java)
>     at CriterionTemplateTest.setUp(CriterionTemplateTest.java:32)
>
> although I explicitly added
>
> android {
>   // ...
>   testOptions {
>     unitTests.returnDefaultValues = true
>   }
> }
>
> to my build.gradle as advised in the guide.
>
> 2. When I run the tests from the command line with
> gradlew testDebug
>
> the tests do run, most of them throw an exception though because
> getContext() // in AndroidTestCase
>
> and
>
> getInstrumentation().getContext() // in InstrumentationTestCase
>
> both return null, so I don't have a Context and can't access my Resources.
> I tried using
> new Activity()
>
>
> as Context, but it also fails to provide the Resources.
>
> So I tried getting back to the old ways of running tests on a device. I
> explicitly set the test folder to the old convention of /src/androidTest
> with
>     sourceSets{
>         test{
>             java.srcDirs = ['src/androidTest']
>         }
>     }
>
> use my old build.gradle and Run Configuration. Running this Run
> Configuration fires up the view of Pic2, but tells me that I have an
> empty test suite
>
> this not running my tests.
>
> So first of all it would be nice if updates to AS would not break working
> configurations without prior warning, especially since it is now put of
> beta and the official development tool.
>
> Second of all: do you guys have any ideas on how I can get my tests back
> to work with full access to the projects resources, assets etc. ? Either
> the old or the new way.
>
> Best regards, Florian
>
>
>
>
> Pic 1:
> Pic2:
>
>
> <https://lh4.googleusercontent.com/-2LkgN0o4Sfc/VQHAlX9Fs8I/AAAAAAAAD1Y/2BoQ7MT_Z9U/s1600/empty.png>
>
> <https://lh3.googleusercontent.com/-y4dEbyNumDY/VQG5vTpY3HI/AAAAAAAAD1I/vaXSNw1jIlc/s1600/runconfig.png>
>
>  --
> 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.

Reply via email to