나는의 가장 기본적인 실행하기 위해 노력하고있어 TypeScript
사용하여 테스트를 Jasmine
하고 Chutzpah
난 그냥 작업에 얻을 수 없습니다. 다음은 소스 파일입니다.
class Simple {
public easyTest() {
return 5;
}
}
사양은 다음과 같습니다.
/// <reference path="../../../scripts/typings/jasmine/jasmine.d.ts" />
/// <reference path="../../../src/typescript/classSimple.ts" />
describe("Simple Calculations", () => {
it("should return true", () => {
var simpl = new Simple();
expect(simpl.easyTest()).toBe(5);
});
});
내 chutzpah.json
파일 은 다음과 같습니다 .
{
"RootReferencePathMode": "SettingsFileDirectory",
"Framework": "jasmine",
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ]
},
"References": [
{ "Path": "../../../src/typescript/classSimple.ts" }
],
"Tests": [
{ "Path": "simpleSpec.ts" }
],
"EnableTracing": true
}
다음은 폴더 구조입니다.
TestProject.sln
-src
--typescript
---classSimple.ts
-tests
--jasmine
---typescript
----chutzpah.json
----simpleSpec.ts
이 VS.NET 프로젝트는 컴파일 설정 TypeScript
저장에 나는 물리적으로 transpiled 찾고 있어요 JavaScript
출력 : classSimple.js
동일한 디렉토리에 다음에 classSimple.ts
. 그러나 사양을 실행 Chutzpah
하면 다음과 같은 결과가 나타납니다.
메시지 : Chutzpah 실행이 병렬 처리가 4로 설정된 실행 모드에서 시작되었습니다. 메시지 : C : \ dev \ TestProject \ tests \ jasmine \ typescript \ simpleSpec.ts에 대한 테스트 컨텍스트 빌드 중 메시지 : 'C : \ dev \ TestProject \ tests에 대한 테스트 컨텍스트 빌드 중 \ jasmine \ typescript \ simpleSpec.ts '메시지 : 테스트 파일 c : \ dev \ TestProject \ tests \ jasmine \ typescript \ simplespec.ts가 설정 파일의 테스트 파일 경로와 일치했습니다. 메시지 : 참조 파일 경로'../../ 조사 중입니다. ./src/typescript/classSimple.ts '메시지 : 참조 된 파일에'C : \ dev \ TestProject \ src \ typescript \ classSimple.ts '파일을 추가했습니다. 로컬 : True, IncludeInTestHarness : True 메시지 : 확장 참조에 대한 참조 파일 'C : \ dev \ TestProject \ src \ typescript \ classSimple.ts'처리 메시지 : 프레임 워크 종속성 'C : \ Users \ myself \ AppData \ Local \ Microsoft \ 추가됨 VisualStudio \ 14.0 \ Extensions \ mfv4e3ra. \ Users \ myself \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ Extensions \ mfv4e3ra.luv \ TestFiles \ chutzpah_boot.js 'to referenced files 메시지 : Finished building test context for C : \ dev \ TestProject \ tests \ jasmine \ typescript \ simpleSpec.ts 오류 : 0 : 시간 : 22 : 47 : 48.6888513; 글타래 (쓰레드) : 23; 메시지 : C : \ dev \ TestProject \ src \ typescript \ classSimple.ts에서 생성 된 경로의 위치를 찾을 수 없습니다. 경고 : 0 : 시간 : 22 : 47 : 48.6978503; 글타래 (쓰레드) : 23; 메시지 : Chutzpah는 생성 된 .js 파일이 누락 된 것으로 확인했지만 컴파일 모드가 외부이므로 Chutzpah가 파일을 컴파일 할 수 없습니다. 테스트 결과가 잘못되었을 수 있습니다. 정보 : 0 : 시간 : 22 : 47 : 48.7038522; 글타래 (쓰레드) : 23; 메시지 : C : \ dev \ TestProject \ tests \ jasmine \ typescript \ simpleSpec.ts에 대해 생성 된 경로를 c : \ dev \ TestProject \ tests \ jasmine \ typescript \ simpleSpec.js에서 찾았습니다. 오류 : 0 : 시간 : 22 : 47 : 48.7088508 ; 글타래 (쓰레드) : 23; 메시지 : Couldn '
그리고 그게 다입니다. 끝 부분에서 끊어지고 아무 일도 일어나지 않습니다. 문제는. 위의 추적에 명시된 위치에 정확히js
파일이 있지만 Chutzpah는 생성 된 경로를 찾을 수 없습니다 ...
이것은 단위 테스트에서 얻는 것처럼 간단합니다. 테스트가 .ts
파일과 독립적으로 작동한다는 것을 알고 있습니다. .js
파일 만 실행 하면 테스트가 통과하기 때문입니다.
내가 뭘 잘못하고 있니?
매우 상세한 재현을 게시 해 주셔서 감사합니다. 내가 몇 번 본 문제에 부딪 혔습니다. chutzpah.json이 테스트 폴더에 중첩되어 있으므로 chutzpah가 소스에서 출력 폴더로 매핑하는 방법을 결정하는 데 사용해야하는 폴더 경로 매핑을 지정해야합니다. 이렇게하려면 chutzpah.json을 다음과 같이 변경하십시오.
{
"RootReferencePathMode": "SettingsFileDirectory",
"Framework": "jasmine",
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ],
"Paths": [
{ "SourcePath": "../../../", "OutputPath": "../../../"}
]
},
"References": [
{ "Path": "../../../src/typescript/classSimple.ts" }
],
"Tests": [
{ "Path": "simpleSpec.ts" }
],
"EnableTracing": true,
"TraceFilePath": "trace.txt"
}
다른 해결 방법은 프로젝트의 루트에 chutzpah.json을 배치하는 것입니다.
나는 이것을 피하기 위해 Chutzpah를 더 좋게 만드는 것을 조사 할 필요가 있습니다. 이 상황에서 chutzpah를 사용하는 방법을 살펴 보겠습니다.이 일반적인 함정을 피하기 위해 파일이 같은 위치에 있다고 가정합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다