|
From: Ryan C. <ry...@fi...> - 2006-12-18 23:17:45
|
Hey guys, here's a little bug...
When running a bunch of TestCase's in a suite extending TestRunner,
the results printed are only from the last TestCase. For example,
"Tests run: 7, Failures: 0, Errors: 0"
when I should be seeing
"Tests run: 380, Failures: 2, Errors: 0"
Here is a patch which changes BaseTestRunner to use one instance of
TestResult for all TestCases instead of one per TestCase. It makes
things work like I expect... or am I missing something?
(patch pasted in case attachments don't go through...)
Index: asunit/runner/BaseTestRunner.as
===================================================================
--- asunit/runner/BaseTestRunner.as (revision 143)
+++ asunit/runner/BaseTestRunner.as (working copy)
@@ -9,6 +9,7 @@
private static var clipContext:MovieClip;
private var printer:IResultPrinter;
private var intervalId:Number;
+ private var result:TestResult;
public function BaseTestRunner(printerReference:Function) {
if(printerReference == undefined) {
@@ -19,6 +20,8 @@
instance = this;
setClipContext(_root);
setPrinter(createResultPrinter(printerReference));
+ result = new TestResult();
+ result.addListener(getPrinter());
}
public static function getFilteredTrace(stack:String):String {
@@ -37,8 +40,6 @@
public function doRun(suite:Test, showTrace:Boolean):TestResult {
try {
- var result:TestResult = new TestResult();
- result.addListener(getPrinter());
var startTime:Number = getTimer();
suite.setResult(result);
suite.setContext(getClipContext());
|