Refactored for PY-12621

This commit is contained in:
Ilya.Kazakevich
2015-05-07 14:58:31 +03:00
parent 16df215e1a
commit c7d078a7d3
3 changed files with 18 additions and 15 deletions
@@ -29,6 +29,18 @@ public class MockPrinter implements Printer {
protected final StringBuilder myStdErr = new StringBuilder();
protected final StringBuilder myStdSys = new StringBuilder();
/**
* Creates printer and prints printable on it.
* @param printable printable to print on this printer
* @return printer filled with printable output
*/
@NotNull
public static MockPrinter fillPrinter(@NotNull Printable printable) {
MockPrinter printer = new MockPrinter();
printable.printOn(printer);
return printer;
}
public MockPrinter() {
this(true);
}
@@ -1,5 +1,6 @@
package com.jetbrains.env.python.testing;
import com.intellij.execution.testframework.sm.runner.ui.MockPrinter;
import com.jetbrains.env.PyEnvTestCase;
import com.jetbrains.env.ut.PyTestTestTask;
import org.hamcrest.Matchers;
@@ -29,9 +30,12 @@ public class PythonPyTestingTest extends PyEnvTestCase {
assertEquals(9, allTestsCount());
assertEquals(5, passedTestsCount());
assertEquals(4, failedTestsCount());
Assert.assertThat("No test stdout", getMockPrinter(findTestByName("testOne")).getStdOut(), Matchers.startsWith("I am test1"));
Assert
.assertThat("No test stdout", MockPrinter.fillPrinter(findTestByName("testOne")).getStdOut(), Matchers.startsWith("I am test1"));
// Ensure test has stdout even it fails
Assert.assertThat("No stdout for fail", getMockPrinter(findTestByName("testFail")).getStdOut(), Matchers.startsWith("I will fail"));
Assert.assertThat("No stdout for fail", MockPrinter.fillPrinter(findTestByName("testFail")).getStdOut(),
Matchers.startsWith("I will fail"));
}
});
}
-13
View File
@@ -274,19 +274,6 @@ public abstract class PyUnitTestTask extends PyExecutionFixtureTestTask {
Assert.assertEquals(output(), 0, failedTestsCount());
}
/**
* Creates {@link MockPrinter} filled with test output. Use it to check what output test has.
*
* @param test test to fill mock printer with
* @return filled print.
*/
@NotNull
protected static MockPrinter getMockPrinter(@NotNull final Printable test) {
final MockPrinter printer = new MockPrinter();
test.printOn(printer);
return printer;
}
/**
* Searches for test by its name recursevly in {@link #myTestProxy}
*