Hi Vincent,

On 01/08/2019 10:35, Vincent Massol wrote:
Hi devs,

I was pretty sure that this was discussed before but I can’t find it so I’m 
posting it again since I noticed that we continue to have tests (and even add 
new ones) that use the OS tmp directory to output test data.

Tests must not generate anything outside of the target/ directory as this will 
cause several problems:
* not clean generated test data after the test
* create a state that can make other tests fail
* generate errors in jenkins since jenkins monitors created files and doesn't 
allow to remove files outside of the worskspace

WDYT?

If ok I’ll add it to 
https://dev.xwiki.org/xwiki/bin/view/Community/Testing/JavaUnitTesting/#HBestpractices

I agree on the principle, but before adding it we need a utility method to know where to put those resources: I guess it would return a relative path to the target directory of the current module, but we need this method to avoid having to rely on explicit paths in our tests.

It might also allow us to clean automatically those paths in a tearDown method if we want.

Simon

Thanks
-Vincent

PS: Ideally we should have a automatic verification in the build but it doesn’t 
seem easy to implement, so right now, I’m only proposing it as a best practice.


--
Simon Urli
Software Engineer at XWiki SAS
simon.u...@xwiki.com
More about us at http://www.xwiki.com

Reply via email to