如果您在Flex Builder 3中创建纯ActionScript项目并希望使用flexunit进行单元测试,那么最佳选择是什么?
内置的Flex构建器将拒绝构建包含TestRunnerBase组件的mxml文件,因为它是纯ActionScript项目(不允许Flex)。无法将mxml文件添加到项目设置中的“ActionScript Applications”列表中。
现在我可以看到两个选项,都是不受欢迎的。
答案 0 :(得分:3)
始终有ASUnit。
答案 1 :(得分:1)
我最终将单元测试mxml文件放在原始项目中,创建一个新的Flex项目,删除src目录,并将其替换为Eclipse链接文件夹到ActionScript项目的src目录。这个设置似乎工作正常。
答案 2 :(得分:1)
为了让FlexUnit与CruiseControl.net(持续集成服务器)一起工作,我们做了类似的事情。
在我们的实现中,我们在Application类的FlexEvent.CREATION_COMPLETE处理程序中运行以下代码。
如何输出单元测试的结果完全取决于您。我们的实现已经与AIR和Zinc3一起使用,并且都输出了一个NUnit友好的XML表示,然后退出应用程序(如果任何测试失败,退出代码为-1)。
// import mx.core.Application;
// import flexunit.framework.*;
// class AutomatedTestHarness extends Application implements TestListener
private function creationCompleteHandler(event : Event) : void
{
this._result = new TestResult();
this._result.addListener(this);
var testSuite : TestSuite = new TestSuite();
this.addUnitTests(testSuite);
testSuite.runWithResult(_result);
}
/**
* Implement these as part of TestResult.addListener
* If you want to output xml after the tests run, do so here
* (Tip: Count tests in endTest and compare the count to testSuite.countTestCases()
* to find out when all tests have completed)
*/
function startTest(test : Test) : void {}
function endTest(test : Test) : void {}
function addError(test : Test, error : Error) : void {}
function addFailure(test : Test, error : AssertionFailedError) : void {}
答案 3 :(得分:1)
也许您可以使用flexunit.textui.TestRunner,它将结果输出到控制台。
答案 4 :(得分:1)
我们已经将我们想要测试的所有代码考虑到库项目中。然后我们为测试提供了一个单独的项目,这是一个flex项目,它取决于被测项目。
答案 5 :(得分:1)
从libspark尝试AS3Unit。他们还有一个异步beta测试工具包。
答案 6 :(得分:0)
从libspark尝试AS3Unit。他们还有一个异步beta测试工具包。
答案 7 :(得分:0)
删除项目的.actionScriptProperties文件中的'excludedEntries'元素应该可行,我用这种方式在我的纯actionscript项目中构建mxml文件。
答案 8 :(得分:0)
您可以查看我们set up the build for Robotlegs如何使用FlexUnit4及其CI蚂蚁任务。
对于版本控制,我们删除所有Flex / Flash Builder项目文件。 src和test文件夹都设置为src路径。通过蚂蚁构建进行测试。或者,如果您是视觉测试跑步者,可以设置第二个带跑步者的项目。
它在许多贡献者中非常有效且易于使用。