Jasmine ile birlikte TypeScript projesinin birim sınamasını nasıl kuracağınıza dair bir kılavuza ihtiyacım var.Typescript projesi için jasmine nasıl ayarlanır
Testi özellik dosyası şuna benzer:
/// <reference path="../../../typings/tsd.d.ts" />
import {Mediator} from '../../../services/remoting/Mediator';
describe('Mediator',() =>
{
let mediator: Mediator;
beforeEach(() =>
{
mediator = new Mediator();
});
it('blah blah',() =>
{
expect(mediator.TEST).toBeDefined();
});
});
Ben testler npm yasemin modülü kullanmak. jasmine.json bu gibi inşa JS Spec dosyalarına işaret:
{
"spec_dir": "build/spec",
"spec_files": [
"**/*.js"
]
}
inşa özellik dosyası şuna benzer:
/// <reference path="../../../typings/tsd.d.ts" />
define(["require", "exports", '../../../services/remoting/Mediator'], function (require, exports, Mediator_1) {
describe('factory: Mediator', function() {
var mediator;
beforeEach(function() {
mediator = new Mediator_1.Mediator();
});
it('should have defined all required fields', function() {
expect(mediator.ExecuteQuery).toBeDefined();
});
});
});
//# sourceMappingURL=Mediator.spec.js.map
ben yasemin tanımsız 'tanımlamak' fonksiyonunu üzerinde şikayet testler deneyin :
ReferenceError: define is not defined
Ben typescript + Yasemin arama denedi ama fazla bir bilgi yoktur (ve tam visualstudio kullanmak istemiyorum). Bu yüzden, birisi bana tipcript + jasmine'in nasıl ayarlanacağını ve nerede hata yaptığımı göstermesi için minnettar olurum.
Şimdiden teşekkürler.
Hızlı yanıt için teşekkürler. Onun öneri ile çalışır. Projem, tarayıcıda çalıştırılacak bir SPA uygulaması. Npm paketlerini ve benzerlerini çalıştırmak için VSCode + node.js dosyasında geliştirdim. Anladığım kadarıyla amd, tarayıcı tabanlı uygulamalar için daha uygundur, ancak node.js araçlarını kullanarak geliştiriyorum -> sırayla common.js gerektirir. Ne kullanılmalı? – Amid
İlginç bir bilmece :) Eğer RequireJS kullanıyorsanız tarayıcınızda kullanmak için '--module amd 'ile derlemek isteyeceksiniz (ancak yerel geliştirme için' --module commonjs' kullanmaya devam edin). İki sistem farklı modül modellerine sahiptir. – Fenton
Sorun şu ki, RequireJS kullanmıyorum. Şimdiye kadar kullandığım tek şey düz TypeScript. Sonra hata geldiğinde bazı birim testleri eklemek istedim. -commonjs bayrağı ile derlediğimde doğru şekilde anlarsam kullanılan işlevler ('require' gibi) zaten node.js. Ve bu nedenle hiçbir hata oluşmaz. -amd bayrağı ile derlediğimde, 'define' gibi işlevler varsayılan olarak kaputun altında tarayıcı tarafından sağlanmıştır ancak node.js. Bu durum mu? – Amid