I think you're seeing normal Unix (and Linux) file system semantics, with
respect to deleting a file that's currently open. This unlinks the name
from the underlying file system, but the file itself continues to stay
open, and has same content as before unlinking -- until the process that
has the file open terminates.

So, if you're going to execute both tests in one run, you need a way to
reset the database some other way.

One method would be to ensure that the CP closes the database before
deleting the files (then reopens).

Another would be to delete all data (DELETE FROM tablename).

Yet another would be to drop all tables (and to re-create them).

In any case, you'll need a way for your test code to trigger this code
inside the CP.

One way to do this would be to create a special purpose content:// URI and
call it from the test code (and the CP would recognize it and reset its
data using one of the methods above).

-- K



2014-02-24 1:33 GMT+04:00 Code Guru <codegur...@gmail.com>:

> In this case, I am testing the activities of my app with
> ActivityInstrumentationTestCase2. (I also have tests for the
> ContentProvider using ProviderTestCase2.) The two tests that I outlined
> earlier are for the data entry activity. I want to verify that the data
> entered is inserted into the underlying database. The Activity inserts the
> data via `getContentResolver.insert()`. The test case then opens the
> database directly to assert that the data is there. How would I use a
> MockContentProvider and/or other mock objects to perform this kind of
> testing?
>
> On Sun, Feb 23, 2014 at 12:29 PM, Danny D <daniel.m.dev...@gmail.com>wrote:
>
>> As I read your reply, I'm confused now about what's being tested.  Are
>> you testing the ContentProvider or the Activity?  If testing the Activity,
>> it may be better to create a MockContentProvider that's responsible for
>> providing back the info.  If testing the ContentProvider, skip the Activity
>> and use an Application test case, as you get direct control of when its
>> created or destroyed.
>>
>> Sometimes its hard to do, but the goal in testing is to isolate the
>> components and build known conditions around them.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to android-developers@googlegroups.com
>> To unsubscribe from this group, send email to
>> android-developers+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Android Developers" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/android-developers/oOCF2V8tf90/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> android-developers+unsubscr...@googlegroups.com.
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> On Sun, Feb 23, 2014 at 12:29 PM, Danny D <daniel.m.dev...@gmail.com>wrote:
>
>> As I read your reply, I'm confused now about what's being tested.  Are
>> you testing the ContentProvider or the Activity?  If testing the Activity,
>> it may be better to create a MockContentProvider that's responsible for
>> providing back the info.  If testing the ContentProvider, skip the Activity
>> and use an Application test case, as you get direct control of when its
>> created or destroyed.
>>
>> Sometimes its hard to do, but the goal in testing is to isolate the
>> components and build known conditions around them.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to android-developers@googlegroups.com
>> To unsubscribe from this group, send email to
>> android-developers+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Android Developers" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/android-developers/oOCF2V8tf90/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> android-developers+unsubscr...@googlegroups.com.
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to android-developers+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to