Klassen mit node.js exportieren

Habe ich die folgenden test-code, wird ran von Jasmin-Knoten in einer Datei namens bob_test.spec.js

require('./bob');

describe("Bob", function() {
  var bob = new Bob();

  it("stating something", function() {
    var result = bob.hey('Tom-ay-to, tom-aaaah-to.');
    expect(result).toEqual('Whatever');
  });
});

Um die Prüfung, die ich geschrieben habe, die folgenden Produktions-code in eine Datei namens bob.js

"use strict";

var Bob = function() {
}

Bob.prototype.hey = function (text) {
  return "Whatever";
}

module.exports = Bob;

Wenn ich den test - mit jasmine-node . - bekomme ich die folgende
F

Failures:

1) Bob encountered a declaration exception
Message:
    ReferenceError: Bob is not defined
Stacktrace:
    ReferenceError: Bob is not defined
    at null.<anonymous> (/Users/matt/Code/oss/deliberate-practice/exercism/javascript/bob/bob_test.spec.js:4:17)
    at Object.<anonymous> (/Users/matt/Code/oss/deliberate-practice/exercism/javascript/bob/bob_test.spec.js:3:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)

Finished in 0.02 seconds
1 test, 1 assertion, 1 failure, 0 skipped

Basierend auf dem, was ich verstehe, über Javascript, fühle ich mich wie das funktionieren sollte. Was tut node.js anders machen mit Konstruktor-Funktionen und module exportiert, die verhindert, dass diesem aus arbeiten, wie ich denke, wie es sein sollte?

InformationsquelleAutor der Frage Matt Rogers | 2013-08-02

Schreibe einen Kommentar