Я использую QUnit для тестирования моего машинописного кода, и все в порядке, когда я запускаю простой пример, подобный этому: http://thomasardal.com/testing-typescript-with-typescript-using-qunit-and-chutzpah/
Но мой кошмар начинается, когда я пытаюсь создать модульные тесты для своего приложения SPA. На данный момент, чтобы запустить тестирование с использованием наглости на моем VS, я получил странную ошибку: «Не удается найти переменную home в mypath\home.tests.ts (line6).
Мой код ниже:
home.ts
import logger = module('services/logger');
export var title = 'Home View';
export function activate() {
logger.log('Home View Activated', null, 'home', true);
return true;
}
home.tests.ts
/// <reference path="../../Scripts/qunit.d.ts" />
QUnit.module("home.ts tests");
import home = module("home");
test("test title from home viewmodel", function () {
// Calling to active public function from home viewmodel. (home.ts)
var activateResult:string = home.title;
// Assert
equal(activateResult, "Home View", "Result should be Home View ");
});
вот мои настройки typeScript:
есть идеи, что не так с моим кодом?
ОБНОВЛЕНИЕ 1 Полное сообщение окон вывода в Vs2012:
Тест «home.ts тесты: тестовая активация функции из домашней модели просмотра» не выполнен /QUnit/qunit.js:412 в файле:///D:/Mercatus/SourceCode/KILN/AquaVet2/SW/AquaVet.Web/App/viewmodels/_Chutzpah.7.home.tests.js:6: Не удается найти переменную: home в D:\Mercatus\SourceCode\KILN\AquaVet2\SW\AquaVet.Web\App\viewmodels\home.tests.ts (строка 6)
0 сдал, 1 не прошел, 1 всего (наглость).
ОБНОВЛЕНИЕ 2 Как вы видите в коде, я пытаюсь загрузить home.ts, используя ключевое слово module("home").... Я не уверен, что это может быть причиной моих проблем. Лучшим решением может быть добавление внутренней ссылки на home.ts.
но я не знаю, как я могу ссылаться на активацию функции !!.
import
не включает модуль AMD — для этого вам нужен загрузчик, такой как require.js. Я не уверен, как работает QUnit, но способен ли он загружать модульhome
? Без этого вы получите именно ту ошибку, которую описываете. Обратите внимание, что в статье, на которую вы ссылаетесь, вместо этого используются ссылки типа///<reference path="generator.ts"/>
. - person Jude Fisher   schedule 09.05.2013