Flex Builder 3에서 순수한 액션 스크립트 프로젝트를 갖춘 FlexUnit 3
-
21-08-2019 - |
문제
Flex Builder 3에서 Pure Actionscript 프로젝트를 만들고 FlexUnit을 사용하여 단위 테스트를하려면 가장 좋은 옵션은 무엇입니까?
내장 플렉스 빌더는 순수한 액션 스크립트 프로젝트 (Flex 허용 없음)이므로 TestRunnerBase 구성 요소가 포함 된 MXML 파일을 빌드하지 않습니다. 프로젝트 설정에서 MXML 파일을 "ActionScript Applications"목록에 추가하는 것은 불가능합니다.
지금은 바람직하지 않은 두 가지 옵션을 볼 수 있습니다.
- MXML 파일 테스트 장치를 프로젝트에 추가하고 빌드 및 실행을위한 외부 도구 설정을 만듭니다. 이것은 내가 지금 취하는 접근 방식이며 대화식 디버깅이 불가능하다는 점을 제외하고는 잘 작동합니다.
- Test MXML 파일에 대한 새로운 Flex 프로젝트를 작성하고 빌드 옵션의 추가 소스 디렉토리로 기본 프로젝트의 SRC 디렉토리를 추가하십시오. 이 접근법은 두 프로젝트를 유지 관리하는 추악함 외에도 MXML 파일을 다른 모든 소스 파일에서 별도의 디렉토리 트리에 보관해야하기 때문에이 방법이 마음에 들지 않습니다.
해결책
항상 있습니다 ASUNIT.
다른 팁
결국 원래 프로젝트에 Unit Test MXML 파일을 넣고 새 Flex 프로젝트를 작성하고 SRC 디렉토리를 삭제하고 Eclipse 링크 된 폴더로 대체하여 ActionScript 프로젝트의 SRC 디렉토리로 대체되었습니다. 이 설정은 잘 작동하는 것 같습니다.
CruiseControl.net (Continuous Integration Server)과 함께 FlexUnit을 작동시키기 위해 유사한 작업을 수행했습니다.
구현에는 아래 코드가 lexevent.creation_complete handler에서 아래 코드가 실행됩니다.
단위 테스트 결과를 출력하는 방법은 전적으로 귀하에게 달려 있습니다. 우리의 구현은 공기 및 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 {}
아마도 flexUnit.textui.testrunner를 사용할 수 있으며 결과를 콘솔에 출력 할 수 있습니다.
우리는 도서관 프로젝트로 테스트하려는 모든 코드를 고려했습니다. 그런 다음 테스트중인 프로젝트에 따라 Flex 프로젝트 인 테스트를위한 별도의 프로젝트 만 있습니다.
노력하다 AS3UNIT Libspark에서. 또한 비동기 베타 테스트 키트도 있습니다.
Libspark에서 AS3Unit을 사용해보십시오. 또한 비동기 베타 테스트 키트도 있습니다.
프로젝트의 '제외'요소를 제거합니다.
당신은 우리가 어떻게했는지 확인할 수 있습니다 Robotlegs의 빌드를 설정하십시오 FlexUnit4 및 CI Ant 작업 사용.
버전 제어를 위해 Flex/Flash Builder 프로젝트 파일을 모두 제거합니다. SRC 및 테스트 폴더는 모두 SRC 경로로 설정됩니다. 테스트는 개미 빌드를 통해 랜드입니다. 또는 시각적 테스트 러너에 생명을 얻으면 러너가있는 두 번째 프로젝트를 설정할 수 있습니다.
많은 기고자들에게 매우 효과적이고 사용하기 쉬웠습니다.