找到解決方案並沒有太多的運氣,並已在它幾個小時。Typescript茉莉花規格彙編刪除導入語句 - Visual Studio
所以我有幾個文件夾包含Angular 2組件/模塊/服務。我爲Jasmine測試規格添加一個新文件夾來測試我生成的JS代碼。
在Visual Studio中,我將Jasmine作爲參考(nu-get)導入,並通過類型將其拉入,並使用Chutzpah擴展名將spec.js文件顯示在Visual Studio測試瀏覽器中。這一切都很好,最基本的測試(true == true和true == false)都會返回預期的輸出。
當我嘗試將我的Angular 2應用程序中的服務添加到規範中進行測試時,會發生此問題。這裏是代碼...
import { TestingService } from "../Services/testing.service";
describe("TestingService", function() {
let TestingService: TestingService;
TestingService.Testing("TEST");
it("testing is working", function() {
expect(true).toBe(true);
});
});
代碼編譯正確,在從TS到JS的打字稿編譯過程中沒有引發錯誤。當我嘗試運行測試所產生的JS代碼如下所示,就會出現問題...
"use strict";
describe("TestingService", function() {
var TestingService;
TestingService.Testing("TEST");
it("testing is working", function() {
expect(true).toBe(true);
});
});
正如你可以看到從TS碼測試服務進口已被編譯和測試盒中取出錯誤表明TestService.Testing未定義。我不明白爲什麼導入會在這裏被刪除,因爲所有其他角度2組件/服務/模型/等都是使用完全相同的gulp腳本編譯的,並且導入結束。
以下是我嘗試過的其他一些事情沒有成功。
看起來在打字稿現在被廢棄 -
/// <reference path="../references.ts" />
不行的,編譯錯誤 -
import foo = require("../Services/testing.service"); var bar = foo;
只是重申我的環境 -
VS - Visual Studio
VS放肆搜索.spec.js測試用例
項目VS茉莉花參考
分型茉莉花
咕嘟咕嘟編譯TS到JS - 工作
錯誤 -
Gulp將測試規格編譯成JS a nd進口被刪除
感謝您的時間。
感謝您的協助,我確實有chutzpah.json文件設置。 Angular2樣本的問題是現在已過時。我試着將Karma的精確導入語句複製到Chutzpah json中,但沒有運氣。最後,我最終決定使用Karma並使用Visual Studio Node.js工具從交互式命令行運行測試。我可以看到爲什麼測試與Karma一起失敗了,那是因爲我沒有創建一個愚蠢地提供未定義錯誤的測試服務的新對象。 – user3333134