2016-12-06 2 views
0

Не так уж и удался найти решение этого вопроса и был у него на несколько часов.TypScript Jasmine Spec компиляция удаляет оператор импорта - Visual Studio

Итак, у меня есть несколько папок, содержащих угловые 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 компонента/services/models/etc компилируются с использованием того же самого сценария gulp и переноса импорта.

Вот некоторые другие вещи, которые я пробовал без успеха.

Надеется устареет в машинописи сейчас -

/// <reference path="../references.ts" />

Не работает, ошибки компиляции -

import foo = require("../Services/testing.service"); var bar = foo;

Просто повторить мое окружение -

В.С. - Visual Studio

VS Наглость ищет .spec.js тесты

VS жасмин ссылочной в проекте

типизация Жасмина

Глоток компилирует TS в JS - работает

Ошибка -

Gulp компилирует контрольные спецификации для JS a й импорт удалены

Спасибо за ваше время.

ответ

0

У вас есть настройка файла chutzpah.json? Вы посмотрели образец Chutzpah Angular2.Это может помочь вам запустить и начать работу: https://github.com/mmanela/chutzpah/tree/master/Samples/Angular2/Basic

+0

Спасибо за помощь, у меня была настройка файла chutzpah.json. Проблема с образцом Angular2 теперь устарела. Я попытался скопировать точные импортированные заявления из Кармы в Chutzpah json, но не повезло с этим. В конце концов я просто решил пойти с кармой и использовать инструменты Visual Studio Node.js для запуска тестов из интерактивной командной строки. Я мог понять, почему тест был неудачным с Karma, который я не создавал новый объект по глупости из службы тестирования, которая давала неопределенную ошибку. – user3333134

Смежные вопросы