문제

Flex Builder 3에서 Pure Actionscript 프로젝트를 만들고 FlexUnit을 사용하여 단위 테스트를하려면 가장 좋은 옵션은 무엇입니까?

내장 플렉스 빌더는 순수한 액션 스크립트 프로젝트 (Flex 허용 없음)이므로 TestRunnerBase 구성 요소가 포함 된 MXML 파일을 빌드하지 않습니다. 프로젝트 설정에서 MXML 파일을 "ActionScript Applications"목록에 추가하는 것은 불가능합니다.

지금은 바람직하지 않은 두 가지 옵션을 볼 수 있습니다.

  1. MXML 파일 테스트 장치를 프로젝트에 추가하고 빌드 및 실행을위한 외부 도구 설정을 만듭니다. 이것은 내가 지금 취하는 접근 방식이며 대화식 디버깅이 불가능하다는 점을 제외하고는 잘 작동합니다.
  2. 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 경로로 설정됩니다. 테스트는 개미 빌드를 통해 랜드입니다. 또는 시각적 테스트 러너에 생명을 얻으면 러너가있는 두 번째 프로젝트를 설정할 수 있습니다.

많은 기고자들에게 매우 효과적이고 사용하기 쉬웠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top