Jasmine ist ein BDD-Framework (Behavioral Driven Development) zum Testen von JavaScript-Code. Jasmine hat keine externen Abhängigkeiten und benötigt kein DOM.
Ich habe Jasmine immer für meine Unit-Tests verwendet, aber seit kurzem benutze ich Istanbul, um mir Berichte zur Codeabdeckung zu geben. Ich meine, ich verstehe, was sie mir zu sagen versuchen, aber ich weiß nicht wirklich, was jeder dieser Prozentsätze darstellt (Stmts, Branches, Funcs, Lines). Bisher konnte ich beim Googeln …
Ich teste eine React-Komponente mit flachem Jasmine Enzyme-Rendering. Hier für die Zwecke dieser Frage vereinfacht ... function MyOuterComponent() { return ( <div> ... <MyInnerComponent title="Hello" /> ... <MyInnerComponent title="Good-bye" /> ... </div> ) } MyOuterComponenthat 2 Instanzen von MyInnerComponentund ich möchte die Requisiten auf jeder testen. Der erste, den ich …
Ich habe eine AngularJS-Direktive, die eine templateUrldefinierte hat. Ich versuche es mit Jasmine zu testen. Mein Jasmine JavaScript sieht wie folgt aus , gemäß der Empfehlung von dieser : describe('module: my.module', function () { beforeEach(module('my.module')); describe('my-directive directive', function () { var scope, $compile; beforeEach(inject(function (_$rootScope_, _$compile_, $injector) { scope = …
Jasmines spyOnist gut, um das Verhalten einer Methode zu ändern, aber gibt es eine Möglichkeit, eine Werteigenschaft (anstelle einer Methode) für ein Objekt zu ändern? Der Code könnte wie folgt aussehen: spyOn(myObj, 'valueA').andReturn(1); expect(myObj.valueA).toBe(1);
Ich versuche, Jasmine zu verwenden, um einige BDD-Spezifikationen für grundlegende jQuery AJAX-Anforderungen zu schreiben. Ich verwende Jasmine derzeit im Standalone-Modus (dh bis SpecRunner.html). Ich habe SpecRunner so konfiguriert, dass jquery und andere .js-Dateien geladen werden. Irgendwelche Ideen, warum das Folgende nicht funktioniert? has_returned wird nicht wahr, obwohl das "yuppi!" Alarm …
Ich habe einen AngularJS-Dienst geschrieben und möchte ihn einem Unit-Test unterziehen. angular.module('myServiceProvider', ['fooServiceProvider', 'barServiceProvider']). factory('myService', function ($http, fooService, barService) { this.something = function() { // Do something with the injected services }; return this; }); In meiner Datei app.js sind folgende Dateien registriert: angular .module('myApp', ['fooServiceProvider','barServiceProvider','myServiceProvider'] ) Ich kann testen, …
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 6 Jahren . Verbessere diese Frage Was sind die Hauptunterschiede zwischen …
(Hier gibt es eine verwandte Frage: Der Jasmin-Test sieht kein AngularJS-Modul. ) Ich möchte nur einen Dienst testen, ohne Angular zu booten. Ich habe mir einige Beispiele und das Tutorial angesehen, aber ich gehe nirgendwo hin. Ich habe nur drei Dateien: myService.js: Hier definiere ich einen AngularJS-Dienst test_myService.js: Hier definiere …
Angenommen, ich spioniere eine Methode wie diese aus: spyOn(util, "foo").andReturn(true); Die zu testende Funktion wird util.foomehrmals aufgerufen. Ist es möglich, dass der Spion truebeim ersten Aufruf zurückkehrt, falsebeim zweiten Mal? Oder gibt es einen anderen Weg, dies zu tun?
Ich möchte bestätigen, dass ein Wert eine Dezimalzahl (oder 0) ist, daher sollte die Zahl größer oder gleich Null und kleiner als 1 sein. describe('percent',function(){ it('should be a decimal', function() { var percent = insights.percent; expect(percent).toBeGreaterThan(0); expect(percent).toBeLessThan(1); }); }); Wie ahme ich "> = 0" nach?
Gibt es mit Jasmine eine Möglichkeit zu testen, ob 2 Arrays dieselben Elemente enthalten, aber nicht unbedingt in derselben Reihenfolge? dh array1 = [1,2,3]; array2 = [3,2,1]; expect(array1).toEqualIgnoreOrder(array2);//should be true
Wie kann ich diesen Test bestehen, ohne auf Läufe / Wartezeiten für Blöcke zurückzugreifen? it("cannot change timeout", function(done) { request("http://localhost:3000/hello", function(error, response, body){ expect(body).toEqual("hello world"); done(); }); });
Ich teste den Router und habe zwei Funktionen. Ich muss testen, ob die erste Funktion aufgerufen wurde und die zweite nicht. Es gibt eine Methode, toHaveBeenCalledaber es gibt keine Methode, um zu testen, ob die Funktion nicht aufgerufen wurde. Wie kann ich das testen? Ich habe folgenden Code: var args, …
Jasmine hat eingebaute Matcher toBeund toEqual. Wenn ich ein Objekt wie dieses habe: function Money(amount, currency){ this.amount = amount; this.currency = currency; this.sum = function (money){ return new Money(200, "USD"); } } und versuchen Sie zu vergleichen new Money(200, "USD")und das Ergebnis der Summe, diese eingebauten Matcher werden nicht wie …
Ich habe ein Objekt, das möglicherweise entlang meines zu testenden Verhaltens erweitert wird, möchte jedoch sicherstellen, dass die ursprünglichen Eigenschaften noch vorhanden sind. var example = {'foo':'bar', 'bar':'baz'} var result = extendingPipeline(example) // {'foo':'bar', 'bar':'baz', 'extension': Function} expect(result).toEqual(example) //fails miserably Ich hätte gerne einen Matcher, der in diesem Fall wie …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.