@Override public void testPlanExecutionStarted(TestPlan testPlan) { this.out.printf("Test execution started. Number of static tests: %d%n", testPlan.countTestIdentifiers(TestIdentifier::isTest)); }
private Predicate<? super TestIdentifier> isALeaf(Set<TestIdentifier> identifiers) { return testIdentifier -> { Set<TestIdentifier> descendants = testPlan.getDescendants(testIdentifier); return identifiers.stream().noneMatch(descendants::contains); }; }
TestPlan testPlan = new TestPlan("MY TEST PLAN");
private Optional<TestIdentifier> findAncestor(Optional<TestIdentifier> testIdentifier, Predicate<TestIdentifier> predicate) { Optional<TestIdentifier> current = testIdentifier; while (current.isPresent()) { if (predicate.test(current.get())) { return current; } current = this.testPlan.getParent(current.get()); } return Optional.empty(); }
TestPlan testPlan = new TestPlan("Create JMeter Script From Java Code"); testPlan.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName()); testPlan.setProperty(TestElement.GUI_CLASS, TestPlanGui.class.getName()); testPlan.setUserDefinedVariables((Arguments) new ArgumentsPanel().createTestElement());
private void buildDescriptionTree(Description suiteDescription, TestPlan testPlan) { testPlan.getRoots().forEach(testIdentifier -> buildDescription(testIdentifier, suiteDescription, testPlan)); }
private void buildDescription(TestIdentifier identifier, Description parent, TestPlan testPlan) { Description newDescription = createJUnit4Description(identifier, testPlan); parent.addChild(newDescription); this.descriptions.put(identifier, newDescription); testPlan.getChildren(identifier).forEach( testIdentifier -> buildDescription(testIdentifier, newDescription, testPlan)); }
void addDynamicDescription(TestIdentifier newIdentifier, String parentId) { Description parent = getDescription(this.testPlan.getTestIdentifier(parentId)); buildDescription(newIdentifier, parent, this.testPlan); }
@Override @SuppressWarnings( "rawtypes" ) public boolean accept( Class testClass ) { LauncherDiscoveryRequest discoveryRequest = request() .selectors( selectClass( testClass ) ) .filters( includeAndExcludeFilters ).build(); TestPlan testPlan = launcher.discover( discoveryRequest ); return testPlan.containsTests(); } }
Optional<TestExecutionResult> getResult(TestIdentifier testIdentifier) { if (this.finishedTests.containsKey(testIdentifier)) { return Optional.of(this.finishedTests.get(testIdentifier)); } Optional<TestIdentifier> parent = this.testPlan.getParent(testIdentifier); Optional<TestIdentifier> ancestor = findAncestor(parent, this.finishedTests::containsKey); if (ancestor.isPresent()) { TestExecutionResult result = this.finishedTests.get(ancestor.get()); if (result.getStatus() != SUCCESSFUL) { return Optional.of(result); } } return Optional.empty(); }
TestPlan testPlan = new TestPlan("New Test Plan"); testPlan.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName()); testPlan.setProperty(TestElement.GUI_CLASS, TestPlanGui.class.getName()); testPlan.setUserDefinedVariables((Arguments) new ArgumentsPanel().createTestElement());
private Description createJUnit4Description(TestIdentifier identifier, TestPlan testPlan) { String name = nameExtractor.apply(identifier); if (identifier.isTest()) { String containerName = testPlan.getParent(identifier).map(nameExtractor).orElse("<unrooted>"); return Description.createTestDescription(containerName, name, identifier.getUniqueId()); } return Description.createSuiteDescription(name, identifier.getUniqueId()); }
@Override public void testPlanExecutionFinished(TestPlan testPlan) { frames.pop(); long tests = testPlan.countTestIdentifiers(TestIdentifier::isTest); printf(NONE, "%s", "Test plan execution finished. Number of all tests: "); printf(Color.TEST, "%d%n", tests); }
Set<TestIdentifier> getTestsInSubtree(TestIdentifier ancestor) { // @formatter:off return testPlan.getDescendants(ancestor).stream() .filter(TestIdentifier::isTest) .collect(toCollection(LinkedHashSet::new)); // @formatter:on }
@Override public void testPlanExecutionStarted(TestPlan testPlan) { frames.push(System.currentTimeMillis()); long tests = testPlan.countTestIdentifiers(TestIdentifier::isTest); printf(NONE, "%s", "Test plan execution started. Number of static tests: "); printf(Color.TEST, "%d%n", tests); printf(Color.CONTAINER, "%s%n", theme.root()); }
void writeXmlReport(TestIdentifier testIdentifier, Writer out) throws XMLStreamException { // @formatter:off List<TestIdentifier> tests = this.reportData.getTestPlan().getDescendants(testIdentifier) .stream() .filter(TestIdentifier::isTest) .collect(toList()); // @formatter:on writeXmlReport(testIdentifier, tests, out); }
public static boolean isJUnit5Test(Class<?> clazz) { try { Class.forName(JupiterTestEngine.class.getCanonicalName()); } catch (ClassNotFoundException e) { throw new AssertionError("Jupiter engine not found"); } LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClass(clazz)) .filters(EngineFilter.includeEngines("junit-jupiter")) .build(); try { TestPlan plan = LauncherFactory.create().discover(request); long numberOfTests = plan.countTestIdentifiers(t -> t.isTest()); boolean testsPresent = numberOfTests > 0; return testsPresent; } catch (Throwable e) { // This might fail for any number of reasons... // TODO : use some log instead? e.printStackTrace(); return false; } } }