Skip to content
This repository was archived by the owner on Aug 9, 2020. It is now read-only.

Conversation

@gvma
Copy link

@gvma gvma commented Aug 1, 2020

This is a test refactoring.

Problem:
Conditions within the test method will alter the behavior of the test and its expected output, and would lead to situations where the test fails to detect defects in the production method since test statements were not executed as a condition was not met.

Solution:
Instead of using a conditional to control the test execution, we use the proper JUnit API with assumeFalse. In this case, using assumeFalse, the test method will not fail, but be ignored, since the subject under test could not be tested.

Result:

  • Before:
    if (!cacheDir.mkdirs()) {
    throw new IllegalStateException("Cannot create temporary directory");
    }
    if (!cacheDir.setWritable(false, false)) {
    throw new IllegalStateException("Cannot modify permissions");
    }

  • After:
    Assume.assumeTrue("Cannot create temporary directory", !cacheDir.mkdirs());
    Assume.assumeFalse("Cannot modify permissions", !cacheDir.setWritable(false, false));

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant