Ich möchte module.exports in getesteten js verwenden und es mit require() in das Spezifikationsskript aufnehmen.Verwenden von module.exports in Jasmin-Spezifikationen
cat.js - Datei mit dem Objekt würde Ich mag
var cat = {
name: "filemon",
meow: function() {
return "miau";
},
walk: function() {
return "siup siup siup";
}
}
module.exports = cat
catTest.js Export - Spezifikation für Katze
var cat = require('../app/cat')
describe("Cat test", function() {
it("cat should meow with miau", function() {
expect(cat.meow()).toBe("miau")
})
})
Wenn ich die Tests mit Jasmin CLI (heruntergeladen mit npm) Tests werden bestanden:
marcins-iMac:untitled marcin$ jasmine
Started
..
2 specs, 0 failures
Finished in 0.004 seconds
Aber
wenn ich versuche, Tests mit Karma Läufer laufen Modul nicht definiert ist:
marcins-iMac:untitled marcin$ karma start
29 04 2016 23:52:29.238:WARN [karma]: No captured browser, open http://localhost:9876/
29 04 2016 23:52:29.248:WARN [karma]: Port 9876 in use
29 04 2016 23:52:29.248:INFO [karma]: Karma v0.13.22 server started at http://localhost:9877/
29 04 2016 23:52:29.252:INFO [launcher]: Starting browser Chrome
29 04 2016 23:52:30.112:INFO [Chrome 50.0.2661 (Mac OS X 10.11.2)]: Connected on socket /#MJ-R1hm8uQEvSJq9AAAA with id 29613373
Chrome 50.0.2661 (Mac OS X 10.11.2) ERROR
Uncaught ReferenceError: module is not defined
at /Users/marcin/WebstormProjects/untitled/app/cat.js:9
Ein paar Ideen, die ich habe und nicht hilft:
- require.js Zugabe zu "Dateien" in Karma .config.js
- Add getestet Objekt Fenster Umfang (es ist hässlich und funktioniert nicht mit CLI)
Wenn das Problem durch c verursacht werden kann, Konfiguration, Projekt auf GitHub: https://github.com/marcinmierzejewski1024/jasmine-karma-playground