Недавно я попытался включить qUnit и Chutzpah для тестирования проекта, над которым я работаю, написано в машинописном тексте.Использование Chutzpah для запуска машинописных тестов qUnit
У меня установка вещи в том, что я считаю правильным образом и следующие вещи работают:
- Применение машинопись! - Я могу бежать очень раннюю версию приложения
- наглость - я установил это на VS2012 и правильно видеть это мой QUnit демонстрационный тест
- QUnit - оявляется установлен и работает с наглостью, я могу запустить простой тест (тот, который не смотрит на мой код)
с помощью этих трех на месте я предполагаемому я мог бы начать писать тесты для приложения машинопись, как тест, который я написал простой тест в машинописи:
TreeBurst. Tests.ts
///<reference path="../typings/qunit/qunit.d.ts" />
///<reference path="references.ts">
///<reference path="references.js"> // just in case, unsure what needed referencing here
module DMC.TreeBurst {
QUnit.module("TreeBurst.Node.ts tests");
test("Load-a-single-node-creates-correctly",() => {
var node = [new DMC.TreeBurst.Node({
id: 1,
parentId: null,
title: ""
})];
ok(node, "Node not created correctly when provided valid constructor parameters");
});
}
К сожалению, когда я запускаю это я получаю следующее:
'undefined' is not a constructor (evaluating 'new DMC.TreeBurst.Node({
id: 1,
parentId: null,
title: ""
})')
Теперь я уверен, что он должен быть конструктор, но сочетание наглости и QUnit не кажется, чтобы увидеть его в таких ,
Я потратил некоторое время на поиски, но все, что я нашел, говорит о том, что вещи должны «работать». Я делаю что-то явно неправильно здесь?
Любые мысли очень ценятся.
EDIT: В ответ на комментарий, это объявление класса:
/// <reference path="references.ts" />
module DMC.TreeBurst {
export interface NodeOptions {
// location specific
id: number;
parentId?: number;
// node internals
title: string;
content?: string;
colour?: string;
}
export class Node {
public id: number;
public parentId: number = null;
public title: string;
public content: string = null;
public depth: number = null;
public colour: string = null;
constructor(opts: NodeOptions) {
//removed from brevity
}
// methods removed for brevity
}
}
Вы просто должны быть в состоянии сделать новый узел (....), так как вы уже пространство имен TreeBurst. Также вы экспортировали свой класс узлов? –
@ N.TaylorMullen Да, я получаю тот же результат с полным или без него, я тоже экспортировал класс, отредактировав вопрос, чтобы показать, что в случае, если я сделал что-то не так. – dougajmcdonald