I’ve stumbled upon an answer for my own question, for which I scored the coveted “Tumbleweed” award reserved for questions that inspire a particularly notable lack of interest. Never-the-less it may prove useful to someone.
In the end I’m going to describe this as a bug in Android’s gradle build but in the absence of any conclusive documentation that’s going to have to remain an opinion.
It would appear that “androidTest/assets” just doesn’t work. However “debug/assets” does. So does “debug/java” incidentally so the solution is to put any and all testing resources and code into the debug root, with the exception of the unit tests themselves.
I also added the following modifications to my build.gradle:
androidTest {
assets.srcDirs = ['src/main/assets', 'src/androidTest/assets/', 'src/debug/assets/']
java.srcDirs = ['src/main/java', 'src/androidTest/java', 'src/debug/java']
}
And now I have functioning unit tests employing assets and mocks that are unknown to the release build.