static DeviceTest from(TestIdentifier testIdentifier) { return new DeviceTest(testIdentifier.getClassName(), testIdentifier.getTestName()); }
@Override public void testStarted( TestIdentifier testIdentifier ) { testRunCount++; getLog().info( deviceLogLinePrefix + String.format( "%1$s%1$sStart [%2$d/%3$d]: %4$s", INDENT, testRunCount, testCount, testIdentifier.toString() ) ); if ( createReport ) { // reset start time for each test run currentTestCaseStartTime = System.currentTimeMillis(); currentTestCase = new Testsuite.Testcase(); currentTestCase.setClassname( testIdentifier.getClassName() ); currentTestCase.setName( testIdentifier.getTestName() ); } }
runner.removeInstrumentationArg("package"); runner.removeInstrumentationArg("class"); runner.setMethodName(test.getClassName(), test.getTestName()); runner.run(listeners); } catch (Exception e) {
/** * Generates user friendly string. */ @Override public String toString() { return String.format("%s#%s", getClassName(), getTestName()); } }
@Override public String toString() { return String.format("%s#%s", getClassName(), getTestName()); } }
/** * Tests equality by comparing class and method name. */ @Override public boolean equals(Object other) { if (!(other instanceof TestIdentifier)) { return false; } TestIdentifier otherTest = (TestIdentifier)other; return getClassName().equals(otherTest.getClassName()) && getTestName().equals(otherTest.getTestName()); }
/** * Generates hashCode based on class and method name. */ @Override public int hashCode() { return getClassName().hashCode() * 31 + getTestName().hashCode(); }
@Override protected String getTestSuiteName() { // in order for the gradle report to look good we put the test suite name as one of the // test class name. Map<TestIdentifier, TestResult> testResults = getRunResult().getTestResults(); if (testResults.isEmpty()) { return null; } Map.Entry<TestIdentifier, TestResult> testEntry = testResults.entrySet().iterator().next(); return testEntry.getKey().getClassName(); }
@Override protected String getTestSuiteName() { // in order for the gradle report to look good we put the test suite name as one of the // test class name. Map<TestIdentifier, TestResult> testResults = getRunResult().getTestResults(); if (testResults.isEmpty()) { return null; } Map.Entry<TestIdentifier, TestResult> testEntry = testResults.entrySet().iterator().next(); return testEntry.getKey().getClassName(); }
@Override public void testEnded(TestIdentifier test, Map<String, String> testMetrics) { long testDuration = millisSinceNanoTime(startTime); if (testDuration > TEST_LENGTH_THRESHOLD_MILLIS) { logger.warn("Slow test ({}ms): {} {}" , testDuration, test.getClassName(), test.getTestName()); } }
@Override public void testEnded(TestIdentifier test, Map<String, String> testMetrics) { if (!mFailedTests.remove(test)) { // if wasn't present in the list, then the test succeeded. if (mLogger != null) { mLogger.info("\n%1$s > %2$s[%3$s] \033[32mSUCCESS \033[0m", test.getClassName(), test.getTestName(), mDeviceName); } } super.testEnded(test, testMetrics); }
@Override public void testEnded(TestIdentifier test, Map<String, String> testMetrics) { if (!mFailedTests.remove(test)) { // if wasn't present in the list, then the test succeeded. if (mLogger != null) { mLogger.verbose("\n%1$s > %2$s[%3$s] \033[32mSUCCESS \033[0m", test.getClassName(), test.getTestName(), mDeviceName); } } super.testEnded(test, testMetrics); }
@Nonnull public static Builder testCaseEvent(@Nonnull TestIdentifier testIdentifier) { return testCaseEvent() .withTestClass(testIdentifier.getClassName()) .withTestMethod(testIdentifier.getTestName()); }
@Override public void testIgnored(TestIdentifier test) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[33mSKIPPED \033[0m", test.getClassName(), test.getTestName(), mDeviceName); } super.testIgnored(test); }
@Override public void testIgnored(TestIdentifier test) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[33mSKIPPED \033[0m", test.getClassName(), test.getTestName(), mDeviceName); } super.testIgnored(test); }
@Override public void testFailed(TestIdentifier test, String trace) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[31mFAILED \033[0m", test.getClassName(), test.getTestName(), mDeviceName); mLogger.warning(getModifiedTrace(trace)); } mFailedTests.add(test); super.testFailed(test, trace); }
@Override public void testFailed(TestIdentifier test, String trace) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[31mFAILED \033[0m", test.getClassName(), test.getTestName(), mDeviceName); mLogger.warning(getModifiedTrace(trace)); } mFailedTests.add(test); super.testFailed(test, trace); }
@Nonnull public static TestCaseEvent from(@Nonnull TestIdentifier testIdentifier) { return testCaseEvent() .withTestClass(testIdentifier.getClassName()) .withTestMethod(testIdentifier.getTestName()) .withIsIgnored(false) .build(); }
@Override public void testAssumptionFailure(TestIdentifier test, String trace) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[33mSKIPPED \033[0m\n%4$s", test.getClassName(), test.getTestName(), mDeviceName, getModifiedTrace(trace)); } super.testAssumptionFailure(test, trace); }
@Override public void testAssumptionFailure(TestIdentifier test, String trace) { if (mLogger != null) { mLogger.warning("\n%1$s > %2$s[%3$s] \033[33mSKIPPED \033[0m\n%4$s", test.getClassName(), test.getTestName(), mDeviceName, getModifiedTrace(trace)); } super.testAssumptionFailure(test, trace); }