Wie unit-Tests, javascript-Funktion, die einen parameter mit jasmine oder mocha

Ich habe eine einfache Frage. Wie kann ich die unit-test-eine Funktion, die abhängig von einem parameter? Wie sagen Sie zum Beispiel:

Code:

function a(param) {
   if(param > 0) 
      return param+value;
   else
      return param;
}

Wie kann ich die unit-test-Funktion ein, ohne param? Ich höre diese verwende ich verspottet oder Spione in Jasmin. Kann mir jemand zeigen, ein Beispiel, ich bin wirklich verwirrt. Ich danke Ihnen allen im Voraus.

Edit:

Danke für so eine conprehensive Antwort David. Ich wirklich zu schätzen. Hier finden Sie weitere Informationen über meine Frage.

Dies ist in der Tat meine wahre Frage, ich habe eine Datei

snap-fed.js :

//Code here...

Ich würde gern unit-Tests umfassend als Sie mir das zeigte. Aber ich bin mir nicht sicher, wie dies zu tun mit jasmine oder mocha.

Mag, wie könnte ich das testen von Methoden der snap-Objekt? Wie konnte ich das unit-test-snap.die Wählbarkeit oder snap.isSnapResourceEligibile? Habe ich fest auf dieses Problem für etwa 2 Tage, die ich wirklich nicht verstehen.

Alle in einer parameter-info bietet Informationen über das Objekt, an dem gearbeitet wird mit Methoden.

War dies meine wahre Frage aber ich wusste nicht, wie Sie Fragen.

Edit 2:

Basierend auf David ' s Vorlage habe ich dieses, aber es gar nicht laufen...

snap-fed.spec.js :

describe("snap-fed", function() { 

  describe("Properties", function() { 

    it("should exist", function() {
      expect(Allowance).not.toBeUndefined(); 
      expect(AllowanceAdditional).not.toBeUndefined();
      expect(MaxAllowanceHouseholdSize).not.toBeUndefined();
    }); 

    it("should contain correct values", function() {
        expect(Allowance).toEqual([189, 347, 497, 632, 750, 900, 995, 1137]);
        expect(AllowanceAdditional).toBe(142);
        expect(MaxAllowanceHouseholdSize).toBe(Allowance.length);
    }); 
  });

  describe("Functions", functions(){

    it("should return the expected result", function() {
      expect(snap.isSnapResourceEligible(info)).toBeTruthy();
    });

    //Put more test cases for the various methods of snap

  });

}); 
Sie bieten param als ein argument in der unit-test selbst, dann behaupten Sie, dass der Rückgabewert wie erwartet.
Können Sie bitte geben Sie mir ein Beispiel? Was du sagst macht Sinn, aber ich denke, wenn ich sah, ein Beispiel, ich möchte verstehen, viel besser

InformationsquelleAutor mosawi | 2014-09-02

Schreibe einen Kommentar