Sto provando a ottenere un test unitario scritto in Typescript usando Jasmine per compilare. Con quanto segue nel mio file di test unitario, Resharper mi richiede un link per importare i tipi da jasmine.d.ts.Test delle unità usando Jasmine e TypeScript
/// <reference path="sut.ts" />
/// <reference path="../../../scripts/typings/jasmine/jasmine.d.ts" />
describe("Person FullName", function() {
var person;
BeforeEach(function() {
person = new Person();
person.setFirstName("Joe");
person.setLastName("Smith");
});
It("should concatenate first and last names", function() {
Expect(person.getFullName()).toBe("Joe, Smith");
});
});
Così clicco sul link e finire con il seguente (in realtà ReSharper preceduto solo la funzione di descrivere con, così ho prefissati manualmente l'altra Jasmine chiama "Jasmine".):
/// <reference path="sut.ts" />
/// <reference path="../../../scripts/typings/jasmine/jasmine.d.ts" />
import Jasmine = require("../../../Scripts/typings/jasmine/jasmine");
Jasmine.describe("Person FullName", function() {
var person;
Jasmine.BeforeEach(function() {
person = new Person();
person.setFirstName("Joe");
person.setLastName("Smith");
});
Jasmine.It("should concatenate first and last names", function() {
Jasmine.Expect(person.getFullName()).toBe("Joe, Smith");
});
});
Tuttavia, la dichiarazione di importazione presenta una linea ondulata rossa con il messaggio di errore "Impossibile risolvere il modulo esterno ../../../scripts/typings/jasmine/jasmine. Il modulo non può essere alterato in un tipo non modulo"
Qualche idea su cosa sta causando questo errore? Ho verificato che l'opzione "Sistema di moduli" è impostata su AMD nelle impostazioni di configurazione del mio progetto. Ho anche controllato che il modulo jasmine sia definito in jasmine.d.ts. Ho scaricato questo file dal sito DefinitelyTyped.
declare module jasmine {
...
}
es6: 'importa Jasmine da 'percorso/qui';'. es5: 'var Jasmine = require ('percorso/qui');'. Usa 'beforeEach',' it' e 'expect' invece di' BeforeEach', 'It' e' Expect'. – marcel
Grazie per la risposta. Ho pensato in Typescript quanto segue è valido? import Jasmine = require ("..."). Anche se forse non perché dà così tanti errori di compilazione ... – aw1975