2015-02-10 3 views
0

Я использую Visual Studio 2013 с машинопись 1.3 (и попытался с машинопись 1.0.0.0 перед обновлением)Реферирование машинопись файл вызывает Intellisense ошибки в этом файле

У меня есть веб-приложение проекта MVC, который использует машинопись файлы. Все эти .ts-файлы могут ссылаться друг на друга неявно без каких-либо заявлений ///<reference>. У меня также нет файла _references.ts.

Теперь я начал изучать блок-тесты для этих файлов .ts. У меня есть отдельный проект в том же решении для тестов. Я добавил в проект жасмин и файл жасмина .d.ts.

Когда я создаю тестовый класс Typcript, он не может косвенно ссылаться на классы .ts из веб-приложения. Я могу решить это, представив инструкцию ///<reference> в тестовом классе. Однако при этом класс из проекта веб-приложения, на который я только что ссылался, внезапно получает ошибки Intellisense, так как теперь он не может косвенно ссылаться на любую из своих зависимостей.

Нужно ли мне теперь явно ссылаться на зависимости во всем машинописном тексте в моем проекте веб-приложения? Есть ли более простое решение?

+0

Во-первых, я хотел бы попробовать обновить инструменты машинопись 1,3 или 1,4 ... может быть, это уже зафиксировано вопрос. – Benjamin

+0

У меня была такая же проблема. Я думаю, что самый простой способ избежать этой проблемы - не тестировать в отдельном проекте. Кажется, что неявные ссылки - это только проекты. Я думаю, что было решение на полпути, где в тестовом проекте был использован проект приложения. Тогда типы работали, но intellisens не .. – Gustav

+0

@Benjamin - обновились до TypScript 1.3, и это не имеет никакого значения. Без операторов класс тестирования модуля не может ссылаться на класс реализации. С помощью инструкции класс реализации не может ссылаться на свои зависимости. –

ответ

0

Один из вариантов может заключаться в использовании Chutzpah вместо Resharper runner.

Chutzpah может быть сконфигурирован с использованием файла chutzpah.json в корневой папке тестовых папок для автоматического включения ссылок. Вот пример, чтобы включить все .ts файлы из папки называемые классы:

{ 
    "Framework": "jasmine", 
    "References": [ 
     { "Path": "../classes", "Include": "*.ts", "Exclude": "*Resource*" } 
    ] 
} 

С этой конфигурации будут включены все скомпилированные .ts файлы из этой папки перед выполнением тестов, которые позволят предотвратить ошибки во время выполнения ,

https://chutzpah.codeplex.com/wikipage?title=Using%20the%20references%20setting&referringTitle=Chutzpah.json%20Settings%20File

+0

Будет ли Visual Studio Intellisense заходить в эту конфигурацию и перестать жаловаться? –

+0

Если я не использую каких-либо явных ссылочных операторов в машинописном тексте, но вместо этого просто настройка chutzpah, я не получаю никаких ошибок во время сборки или времени выполнения.Тестирование выполняется без проблем даже при глубоких зависимостях. –

+0

FYI я использую VS 2013 Update 4 с TypScript 1.4 и последним Chutzpah. –

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