TheCacophonyProject / bird-monitor

Android application to regularly record birdsong for analysis
GNU General Public License v3.0
11 stars 9 forks source link

Refactor tests #53

Closed jackodsteel closed 5 years ago

jackodsteel commented 5 years ago

Refactor tests to use a single file for each test case. Also helped fix some flakyness by adding permission handling. Noted that tests need to run without animations to work properly, so we should document this more heavily probably in README too. Made the GuiControls tests independent. Made the sleep exceptions throw rather than catch so the tests fail if exceptions occur (although they shouldn't in this case). Added one extra IdlingResource to track any web requests to help try to reduce flakyness and dependence on sleeps.

Otherwise the tests are the same as before, just more stable and laid out normally.

timhot commented 5 years ago

@jackodsteel Do the tests use the test server?

jackodsteel commented 5 years ago

@jackodsteel Do the tests use the test server?

@timhot Not at the moment, I think we can set it up though, I will give it a go at least.

timhot commented 5 years ago

@jackodsteel That would be good, as we don't want lots of test data on the production server. Related - Are you aware that if you press and hold the Advanced button for about 10 seconds then when you lift your finger off the button, it changes to 'Very Advanced' which allows you to see extra screens at the end of the Advanced wizard?

timhot commented 5 years ago

@jackodsteel recordAndSaveOnServer test seems to fail

jackodsteel commented 5 years ago

@timhot Ahh I see what you mean about the test server, I thought you meant having them run in the PRs like the other repos test suites do. It looks like only some of the tests are running on the test server at current, which like you say isn't ideal. That should be an easy fix.

Ooh, hadn't spotted that Very Advanced area so that's a handy feature!

Can you paste the logs for the recordAndSaveOnServer failures? It seems to pass alright for me.