Frage Wie benutzt man Fixtures in Jasmine.js Version 2.0.0?


Die Geräte funktionieren gut für meine Testsuiten in Jasmine.js Version 1.3.1. Nach dem Upgrade von Jasmine.js auf Version 2.0.0 funktionieren Fixtures nicht.

Kann mir jemand erklären, wie ich meinen Code in jasmine.js Version 2.0.0 für Fixtures nutzbar machen kann?

Ich habe diese Jasmine v2.0.0 Release Notes überprüft, aber nichts zu Fixtures: https://github.com/pivotal/jasmine/blob/v2.0.0/release_notes/20.md

Vielen Dank.


6
2018-05-15 13:41


Ursprung


Antworten:


Das unten stehende Skript funktioniert einwandfrei, damit ich die Fixtures laden kann, um Ihre HTML-Snippets zu testen.

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

Und du musst Überprüfen Sie einige der Jasmine.js Framework-Syntax 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>

4
2018-05-19 07:00