2014-05-15 8 views
5

Die Geräte funktionieren gut für meine Testsuiten in Jasmine.js Version 1.3.1. Nach der Aktualisierung von Jasmine.js Version auf 2.0.0 funktionieren Fixtures nicht.Wie verwendet man Fixtures in Jasmine.js Version 2.0.0?

Kann mir jemand erklären, wie mein Code praktikabel für die Lampen in jasmine.js Version 2.0.0 zu machen?

Ich habe dieses Jasmin v2.0.0 Release Notes überprüft, aber nichts zu den Lampen releated: https://github.com/pivotal/jasmine/blob/v2.0.0/release_notes/20.md

Dank.

Antwort

4

Das folgende vollständige Skript funktioniert gut, um die Fixtures zu laden, um Ihre HTML-Snippets zu testen.

Ich habe diese URL bezeichnet und diese url hat mir geholfen, die Geräte zu laden: http://www.htmlgoodies.com/beyond/javascript/js-ref/testing-dom-events-using-jquery-and-jasmine-2.0.html

Und Sie müssen Check einige der Jasmine.js Rahmen Syntax als auch in jasmine.js v2.0.0

<!DOCTYPE HTML> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Jasmine v2.0 DOM Tests Spec Runner</title> 

    <link rel="shortcut icon" type="image/png" href="images/jasmine_favicon.png"> 
    <link rel="stylesheet" type="text/css" href="lib/jasmine-core/jasmine.css"> 

    <script type="text/javascript" src="lib/jasmine-core/jasmine.js"></script> 
    <script type="text/javascript" src="lib/jasmine-core/jasmine-html.js"></script> 
    <script type="text/javascript" src="lib/jasmine-core/boot.js"></script> 
    <script type="text/javascript" src="lib/jasmine-core/jquery-1.7.2.js"></script> 
    <script type="text/javascript" src="lib/jasmine-core/jasmine-jquery.js"></script> 

    <script type="text/javascript"> 
    var MSG = "Hello World!"; 

    function hideMessage() { 
     $("#pMsg").html(""); 
    } 

    function showMessage() { 
     $("#pMsg").html(MSG); 
    } 

    function setUpHTMLFixture() { 
     setFixtures('<form id="testForm" action="">' 
        +' <h1>Test Form</h1>' 
        +' <input type="text" id="txtMessage">' 
        +' <br>' 
        +' <button id="btnHideMessage" type="button" onclick="hideMessage()">Hide Message</button>' 
        +' <button id="btnShowMessage" type="button" onclick="showMessage()">Show Message</button>' 
        +' <br>' 
        +' <p id="pMsg"></p>' 
        +'</form>'); 

    } 

describe("DOM TESTS:***************", function() { 
    describe("Button Click Event Tests", function() { 
    var spyEvent; 

    beforeEach(function() { 
     setUpHTMLFixture(); 
    }); 

    it ("should invoke the btnShowMessage click event.", function() { 
     spyEvent = spyOnEvent('#btnShowMessage', 'click'); 
     $('#btnShowMessage').trigger("click"); 

     expect('click').toHaveBeenTriggeredOn('#btnShowMessage'); 
     expect(spyEvent).toHaveBeenTriggered(); 
    }); 

    it ("should invoke the btnHideMessage click event.", function() { 
     spyEvent = spyOnEvent('#btnHideMessage', 'click'); 
     $('#btnHideMessage').trigger("click"); 

     expect('click').toHaveBeenTriggeredOn('#btnHideMessage'); 
     expect(spyEvent).toHaveBeenTriggered(); 
    }); 
    }); 

    describe("Show message tests", function() { 
    beforeEach(function() { 
     setUpHTMLFixture(); 
     $('#txtMessage').val(MSG); 
     $('#btnShowMessage').trigger("click"); 
    }); 

    it ("should display the message when button is clicked.", function() { 
     expect($('#pMsg')).toHaveText($('#txtMessage').val()); 
    }); 
    }); 

    describe("Hide message tests", function() { 
    beforeEach(function() { 
     setUpHTMLFixture(); 
     $('#pMsg').text(MSG); 
     $('#btnHideMessage').trigger("click"); 
    }); 

    it ("should remove the message when button is clicked.", function() { 
     expect($('#pMsg')).toHaveText(""); 
    }); 
    }); 
}); 
</script> 
</head> 
<body> 
</body> 
</html> 
+0

Danke, es funktioniert für mich. – KumarA

Verwandte Themen