public abstract class

InstrumentationRunListener

extends RunListener

 java.lang.Object

↳RunListener

↳androidx.test.internal.runner.listener.InstrumentationRunListener

Subclasses:

InstrumentationResultPrinter, CoverageListener, SuiteAssignmentPrinter

Gradle dependencies

compile group: 'androidx.test', name: 'runner', version: '1.6.2'

  • groupId: androidx.test
  • artifactId: runner
  • version: 1.6.2

Artifact androidx.test:runner:1.6.2 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.test:runner com.android.support.test:runner

Overview

A that has access to a . This is useful for test result listeners that want to dump data back to the instrumentation results.

Summary

Constructors
publicInstrumentationRunListener()

Methods
public InstrumentationgetInstrumentation()

public voidinstrumentationRunFinished(java.io.PrintStream streamResult, Bundle resultBundle, Result junitResults)

Optional callback subclasses can implement.

public voidsendStatus(int code, Bundle bundle)

Convenience method for InstrumentationRunListener

public voidsendString(java.lang.String msg)

Convenience method to output a string on instrumentation output

public voidsetInstrumentation(Instrumentation instr)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public InstrumentationRunListener()

Methods

public Instrumentation getInstrumentation()

public void setInstrumentation(Instrumentation instr)

public void sendStatus(int code, Bundle bundle)

Convenience method for InstrumentationRunListener

public void sendString(java.lang.String msg)

Convenience method to output a string on instrumentation output

public void instrumentationRunFinished(java.io.PrintStream streamResult, Bundle resultBundle, Result junitResults)

Optional callback subclasses can implement. Will be called when instrumentation run completes.

Parameters:

streamResult: the java.io.PrintStream to instrumentation out. Will be displayed even when instrumentation not run in -r mode
resultBundle: the instrumentation result bundle. Can be used to inject key-value pairs into the instrumentation output when run in -r/raw mode
junitResults: the test results

Source

/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.test.internal.runner.listener;

import android.app.Instrumentation;
import android.os.Bundle;
import java.io.PrintStream;
import org.junit.runner.Result;
import org.junit.runner.notification.RunListener;

/**
 * A {@link org.junit.runner.notification.RunListener} that has access to a {@link Instrumentation}.
 * This is useful for test result listeners that want to dump data back to the instrumentation
 * results.
 */
public abstract class InstrumentationRunListener extends RunListener {

  private Instrumentation instr;

  public Instrumentation getInstrumentation() {
    return instr;
  }

  public void setInstrumentation(Instrumentation instr) {
    this.instr = instr;
  }

  /** Convenience method for {@link #getInstrumentation()#sendStatus()} */
  public void sendStatus(int code, Bundle bundle) {
    getInstrumentation().sendStatus(code, bundle);
  }

  /** Convenience method to output a string on instrumentation output */
  public void sendString(String msg) {
    Bundle b = new Bundle();
    b.putString(Instrumentation.REPORT_KEY_STREAMRESULT, msg);
    sendStatus(0, b);
  }

  /**
   * Optional callback subclasses can implement. Will be called when instrumentation run completes.
   *
   * @param streamResult the {@link java.io.PrintStream} to instrumentation out. Will be displayed
   *     even when instrumentation not run in -r mode
   * @param resultBundle the instrumentation result bundle. Can be used to inject key-value pairs
   *     into the instrumentation output when run in -r/raw mode
   * @param junitResults the test results
   */
  public void instrumentationRunFinished(
      PrintStream streamResult, Bundle resultBundle, Result junitResults) {}
}