All JUnit test classes must have a name that includes "IT", "Test", "Base", or "Demo".
List all ignored JUnit 4 tests.
Finds tests with an Expected Exception.
(testMethod:Test:Method),
(testMethod)-[:ANNOTATED_BY]->(a)-[:OF_TYPE]->(:Type{fqn:"org.junit.Test"}),
(a)-[:HAS]->(v:Value{name:"expected"})-[:IS]->(expectedException:Type)
MERGE
(testMethod)-[:EXPECTS_EXCEPTION]->(expectedException)
RETURN
testType as DeclaringType,
testMethod as Method,
expectedException as ExpectedException
]]>
Finds tests without an assert.
(testMethod:Test:Method)
WHERE NOT (
(testMethod)-[:ANNOTATED_BY]->(:ANNOTATION)-[:OF_TYPE]->(:TYPE {FQN:"org.junit.Ignore"})
OR (testMethod)-[:INVOKES*..3]->(:Method:Assert)
OR (testMethod)-[:EXPECTS_EXCEPTION]->(:Type)
)
RETURN
testType AS DeclaringType,
testMethod AS Method
]]>