2014-11-03 6 views
0

Chutzpah.json 파일을 제공 할 때 Chutzpah가 내 타이 스크립트 테스트를 실행하는 데 문제가 있습니다.Chutzpah.json 파일을 사용할 때 Chutzpah 테스트 실행 문제

enter image description here

내 Chutzpah.json 파일은 다음과 같습니다 :

내 프로젝트는 다음과 같습니다 나는이 Chutzpah.json 파일을 실행할 때

{ 
    "Compile": { 
     "Mode": "External", 
     "ExtensionsWithNoOutput": [ ".d.ts" ] 
    }, 
    "Tests": [ 
     { "Include": "**/**.ts","Exclude": "**/**.d.ts" } 
    ], 
    "References": [ 
     {"Include": "../../hacapp.web/**/*.ts", "Exclude": "../../hacapp.web/**/**.d.ts" } 
    ] 
} 

후 0 테스트가 실행됩니다 .

chutzpah.consle.exe/경로 \ hacapp.web \ hacapp.web.Tests \ Scrpts TypescriptTests.ts/추적/디버그 \

:이 인수 명령 줄 러너를 실행의 출력

<head> 
    <meta charset="utf-8" /> 
    <title>QUnit Tests</title> 
    <link rel="stylesheet" type="text/css" href="file:///C:/Users/sam/Source/Repos/chutzpah-master/ConsoleRunner/bin/Debug/TestFiles/QUnit/qunit.css"/> 
<script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/chutzpah-master/ConsoleRunner/bin/Debug/TestFiles/QUnit/qunit.js"></script> 
    <script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web/scripts/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web/scripts/knockout-3.0.0.js"></script> 
    <script> 
     var amdTestPath = ""; 
     if (window.require && typeof window.require === "function" && amdTestPath !== "") { 
      if (window.chutzpah) { 
       window.chutzpah.usingModuleLoader = true; 
      } 

      requirejs.config({ 
       map: { 
        '*': { 

         } 
       } 
      }); 

      window.QUnit.config.autostart = false; 
      window.require([amdTestPath], function() { 
       console.log("!!_!! Starting QUnit from inline AMD call..."); 
       if (!window._Chutzpah_covobj_name) { 
        window.QUnit.start(); 
       } 
      }); 
     } 
    </script> 
</head> 

경우 : is here

생성 된 HTML 파일의 내용

는 TypescriptTests.js 파일에 대한 참조를 포함하지 않는 것 더 이상 사용하고 다시는 테스트 및 this is in the log file를 실행하는이 시간을 명령 행 도구를 실행되도록 나는 다음 Chutzpah.json 파일의 이름을 변경하지 않으며,이 html로 보이는 것입니다 같은 :

<head> 
    <meta charset="utf-8" /> 
    <title>QUnit Tests</title> 
    <link rel="stylesheet" type="text/css" href="file:///C:/Users/sam/Source/Repos/chutzpah-master/ConsoleRunner/bin/Debug/TestFiles/QUnit/qunit.css"/> 
<script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/chutzpah-master/ConsoleRunner/bin/Debug/TestFiles/QUnit/qunit.js"></script> 
    <script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web/scripts/Workflow/_Chutzpah.1.WFDefinition.js"></script> 
<script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web/scripts/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web/scripts/knockout-3.0.0.js"></script> 
    <script type="text/javascript" src="file:///C:/Users/sam/Source/Repos/haccpapp/hacapp.web/hacapp.web.Tests/Scripts/_Chutzpah.1.TypescriptTests.js"></script> 
    <script> 
     var amdTestPath = ""; 
     if (window.require && typeof window.require === "function" && amdTestPath !== "") { 
      if (window.chutzpah) { 
       window.chutzpah.usingModuleLoader = true; 
      } 

      requirejs.config({ 
       map: { 
        '*': { 

         } 
       } 
      }); 

      window.QUnit.config.autostart = false; 
      window.require([amdTestPath], function() { 
       console.log("!!_!! Starting QUnit from inline AMD call..."); 
       if (!window._Chutzpah_covobj_name) { 
        window.QUnit.start(); 
       } 
      }); 
     } 
    </script> 
</head> 

<body> 
    <h1 id="qunit-header">Unit Tests</h1> 
    <h2 id="qunit-banner"></h2> 
    <h2 id="qunit-userAgent"></h2> 
    <ol id="qunit-tests"></ol> 
    <div id="qunit-fixture"></div> 
</body> 
</html> 

무엇 구성에 문제가 있습니까?

+0

흠 ... 글쎄, 내가 보지 못했기 때문에! !! !! 인라인 AMD 전화에서 QUnit을 시작하는 중 ... "메시지를 로그에 기록하면 내 요구 사항은'require()'호출 html 파일에서 끝나지 않거나 시작하지 마십시오. 'window.require()'가 정의되어 있습니까?Chutzpah에 익숙하지 않습니다.이 방법을 제공합니까? 그렇지 않다면 어디에서 정의 될지 알 수 없습니다. – jakerella

답변

5

업데이트] 답변

나는 주어진 전체 생식에 따라 답을 업데이트합니다. 원래 응답은 아래에 보존됩니다.

기본적으로 chutzpah는 소스 코드를 설정하여 생성 된 스크립트를 chutzpah.json 파일의 위치로 찾습니다. 를 설정하면 소스 및 테스트 폴더 모두의 부모가 될 것은이 문제를 해결할 수 있는지를 내가 확인할 수없는 전체 생식을하지 않고 문제를

{ 
    "Compile": { 
     "Mode": "External", 
     "Extensions": [ ".ts" ], 
     "ExtensionsWithNoOutput": [ ".d.ts" ], 
     "SourceDirectory": "../../", 
     "OutDirectory": "../../" 
    }, 
    "Tests": [ 
     { "Include": "*/*.ts","Exclude": "*/*.d.ts" } 
    ], 
    "References": [ 
     {"Include": "../../ChutzpaWeb/*/*.ts", "Exclude": "../../ChutzpaWeb/*/*.d.ts" } 
    ] 
} 

ORIGINAL 답변

를 해결하지만 주소 a를했다 몇 가지 문제. 번함 입력 내가 **가 변경된 파일

  • 을 .TS 고려 알 수 있도록
    { 
        "Compile": { 
         "Mode": "External", 
         "Extensions": [ ".ts" ], 
         "ExtensionsWithNoOutput": [ ".d.ts" ] 
        }, 
        "Tests": [ 
         { "Include": "*/*.ts","Exclude": "*/*.d.ts" } 
        ], 
        "References": [ 
         {"Include": "../../hacapp.web/*/*.ts", "Exclude": "../../hacapp.web/*/*.d.ts" } 
        ] 
    } 
    
    1. 나는 * 당신의 컴파일 노드로 확장 요소를 추가했다. 이 문제는 귀하의 문제를 일으키지 않았지만 **는 * 문자가 을 포함하여 1 자 이상의 문자와 일치하므로 ** 필요하지 않습니다.

    도움이되는지 알려주세요.

  • +0

    안녕하세요. 당신에게 돌아 가기까지 오랜 시간이 걸린 것에 대해 사과드립니다. 그러나 지금까지 완전한 재창조를함으로써 도움을 줄 시간이 없었습니다. 어쨌든 [이 github 저장소] (https://github.com/samholder/ChutzpahIssue)에서 문제의 최소 재현을 만들었습니다. 그것은 기본적으로 동일한 구조를 가지고 있습니다. 만약 당신이 그것을 열어 테스트 프로젝트에서 Scripts \ CarTests.ts를 열고 윈도우를 오른쪽 클릭하고 'JS 테스트 실행'을 선택하면 테스트가 실패합니다. Chutzpah.json의 이름을 Chutzpah1.json으로 바꾼 다음 다시 실행하면 패스됩니다. 문제가 무엇인지 알 수 없습니다. 어떤 도움을 주신 –

    +0

    내가 추가해야 할 것이 있다면 알려주십시오. 그리고 처음에는 도움을 주셔서 감사합니다! –

    +0

    감사합니다. 많은 노력과 +25의 오랜 시간을 보냈지 만, 내 하루를 보냈으며 이제는 CI 테스트 서버에서 JS 테스트를 실행할 수있게되었습니다. –