|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.rice.cs.drjava.model.junit.DefaultJUnitModel
public class DefaultJUnitModel
Manages unit testing via JUnit.
| Field Summary | |
|---|---|
private CompilerModel |
_compilerModel
The compiler model. |
private boolean |
_forceTestSuffix
State flag to record if test classes in projects must end in "Test" |
private SwingDocument |
_junitDoc
The document used to display JUnit test results. |
private JUnitErrorModel |
_junitErrorModel
The error model containing all current JUnit errors. |
private MainJVM |
_jvm
RMI interface to a secondary JVM for running tests. |
private static Log |
_log
log for use in debugging |
private GlobalModel |
_model
The global model to which the JUnitModel belongs |
private JUnitEventNotifier |
_notifier
Manages listeners to this model. |
private boolean |
_testInProgress
State flag to prevent starting new tests on top of old ones and to prevent resetting interactions after compilation is forced by unit testing. |
| Constructor Summary | |
|---|---|
DefaultJUnitModel(MainJVM jvm,
CompilerModel compilerModel,
GlobalModel model)
Main constructor. |
|
| Method Summary | |
|---|---|
private void |
_notifyCompileBeforeJUnit(CompilerListener testAfterCompile,
List<OpenDefinitionsDocument> outOfSync)
Helper method to notify JUnitModel listeners that all open files must be compiled before JUnit is run. |
private void |
_notifyJUnitEnded()
Helper method to notify JUnitModel listeners that JUnit test suite execution has just ended. |
private void |
_notifyJUnitStarted()
Helper method to notify JUnitModel listeners that JUnit test suite execution has started. |
private void |
_notifyNonTestCase(boolean testAll,
boolean didCompileFail)
Helper method to notify JUnitModel listeners that JUnit aborted before any tests could be run. |
private void |
_rawJUnitOpenDefDocs(List<OpenDefinitionsDocument> lod,
boolean allTests)
Runs all TestCases in the document list lod; assumes all documents have been compiled. |
void |
addListener(JUnitListener listener)
Add a JUnitListener to the model. |
void |
classFileError(ClassFileError e)
Called to indicate that an illegal class file was encountered |
private String |
getCanonicalPath(File f)
|
Iterable<File> |
getClassPath()
Returns the current classpath in use by the JUnit JVM. |
File |
getFileForClassName(String className)
Called when the JUnitTestManager wants to open a file that is not currently open. |
SwingDocument |
getJUnitDocument()
Used only for testing. |
JUnitErrorModel |
getJUnitErrorModel()
Gets the JUnitErrorModel, which contains error info for the last test run. |
boolean |
isTestInProgress()
|
void |
junit(OpenDefinitionsDocument doc)
Runs JUnit on the current document. |
void |
junitAll()
Creates a JUnit test suite over all currently open documents and runs it. |
void |
junitDocs(List<OpenDefinitionsDocument> lod)
Runs JUnit over a list of documents. |
void |
junitJVMReady()
Called when the JVM used for unit tests has registered. |
private void |
junitOpenDefDocs(List<OpenDefinitionsDocument> lod,
boolean allTests)
Ensures that all documents have been compiled since their last modification and then delegates the actual testing to _rawJUnitOpenTestDocs. |
void |
junitProject()
Creates a JUnit test suite over all currently open documents and runs it. |
void |
nonTestCase(boolean isTestAll,
boolean didCompileFail)
Called from the JUnitTestManager if its given className is not a test case. |
void |
removeAllListeners()
Removes all JUnitListeners from this model. |
void |
removeListener(JUnitListener listener)
Remove a JUnitListener from the model. |
void |
resetJUnitErrors()
Resets the junit error state to have no errors. |
void |
setForceTestSuffix(boolean b)
set the forceTestSuffix flag that forces class names in projects to end in "Test |
void |
testEnded(String testName,
boolean wasSuccessful,
boolean causedError)
Called when a particular test has ended. |
void |
testStarted(String testName)
Called when a particular test is started. |
void |
testSuiteEnded(JUnitError[] errors)
Called when a full suite of tests has finished running. |
void |
testSuiteStarted(int numTests)
Called to indicate that a suite of tests has started running. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static Log _log
private final JUnitEventNotifier _notifier
private final MainJVM _jvm
private final CompilerModel _compilerModel
private final GlobalModel _model
private volatile JUnitErrorModel _junitErrorModel
private volatile boolean _testInProgress
private boolean _forceTestSuffix
private final SwingDocument _junitDoc
| Constructor Detail |
|---|
public DefaultJUnitModel(MainJVM jvm,
CompilerModel compilerModel,
GlobalModel model)
jvm - RMI interface to a secondary JVM for running testscompilerModel - the CompilerModel, used only as a lock to prevent simultaneous test and compilemodel - used only for getSourceFile| Method Detail |
|---|
public void setForceTestSuffix(boolean b)
JUnitModel
setForceTestSuffix in interface JUnitModelpublic boolean isTestInProgress()
public void addListener(JUnitListener listener)
addListener in interface JUnitModellistener - a listener that reacts to JUnit eventspublic void removeListener(JUnitListener listener)
removeListener in interface JUnitModellistener - a listener that reacts to JUnit eventspublic void removeAllListeners()
removeAllListeners in interface JUnitModelpublic SwingDocument getJUnitDocument()
getJUnitDocument in interface JUnitModelpublic void junitAll()
junitAll in interface JUnitModelpublic void junitProject()
junitProject in interface JUnitModelpublic void junitDocs(List<OpenDefinitionsDocument> lod)
JUnitModel
junitDocs in interface JUnitModellod - the list of documents that are to be run through JUnit testing.
public void junit(OpenDefinitionsDocument doc)
throws ClassNotFoundException,
IOException
junit in interface JUnitModeldoc - the document to be run under JUnit
ClassNotFoundException
IOException
private void junitOpenDefDocs(List<OpenDefinitionsDocument> lod,
boolean allTests)
private void _rawJUnitOpenDefDocs(List<OpenDefinitionsDocument> lod,
boolean allTests)
private void _notifyJUnitStarted()
private void _notifyJUnitEnded()
private void _notifyCompileBeforeJUnit(CompilerListener testAfterCompile,
List<OpenDefinitionsDocument> outOfSync)
private void _notifyNonTestCase(boolean testAll,
boolean didCompileFail)
private String getCanonicalPath(File f)
throws IOException
IOExceptionpublic JUnitErrorModel getJUnitErrorModel()
getJUnitErrorModel in interface JUnitModelpublic void resetJUnitErrors()
resetJUnitErrors in interface JUnitModel
public void nonTestCase(boolean isTestAll,
boolean didCompileFail)
nonTestCase in interface JUnitModelnonTestCase in interface JUnitModelCallbackisTestAll - whether or not it was a use of the test all buttondidCompileFail - whether or not a compile before this JUnit attempt failedpublic void classFileError(ClassFileError e)
classFileError in interface JUnitModelCallbacke - the ClassFileObject describing the error.public void testSuiteStarted(int numTests)
testSuiteStarted in interface JUnitModelCallbacknumTests - The number of tests in the suite to be run.public void testStarted(String testName)
testStarted in interface JUnitModelCallbacktestName - The name of the test being started.
public void testEnded(String testName,
boolean wasSuccessful,
boolean causedError)
testEnded in interface JUnitModelCallbacktestName - The name of the test that has ended.wasSuccessful - Whether the test passed or not.causedError - If not successful, whether the test caused an error or simply failed.public void testSuiteEnded(JUnitError[] errors)
testSuiteEnded in interface JUnitModelCallbackerrors - The array of errors from all failed tests in the suite.public File getFileForClassName(String className)
getFileForClassName in interface JUnitModelCallbackclassName - the name of the class for which we want to find the file
public Iterable<File> getClassPath()
getClassPath in interface JUnitModelCallbackpublic void junitJVMReady()
junitJVMReady in interface JUnitModelCallback
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||