2017-08-11 17 views
0

ジャスミンとサーバーレスのチュートリアルに従っています。私が直面している問題はJavascriptの周りです。javascriptプログラムでマークアップが正しく追加されない

index.html のパブリックディレクトリがあります。ジャスミンテストはpublic/testsディレクトリにあります。また、index.htmlもあります。

後JSコード(SpecHelper.js以下)は、パブリック/ index.htmlの中でクラスmarkupとマークアップを見つけて、index.htmlを公開/テスト/の<body>でそのコードをコピーしたとしているが、それはそうされていません。私は問題を見つけることができません。

公共/ index.htmlを

<body> 
     <div class='markup'> 
     <div class='view-container container'> 
      <div class='one-half column'> 
       <h3>Learn JS, one puzzle at a time</h3> 
       <a href='' class='button button-primary'>Start now!</a>   
      </div> 
      <div class='one-half column'> 
       <img src='/images/HeroImage.jpg'/> 
      </div> 
     </div> 
     </div> 
    </body> 

SpecHelper.js

var fixture; 

function loadFixture(path) { 
    var html; 
    jQuery.ajax({ 
    url: '/index.html', 
    success: function(result) { 
     html = result; 
    }, 
    async: false 
    });   
    return $.parseHTML(html); 
} 

function resetFixture() { 
    if (!fixture) { 
    var index = $('<div>').append(loadFixture('/index.html')); 
    var markup = index.find('div.markup'); 
    fixture = $('<div class="fixture" style="display: none">').append(markup); 
    $('body').append(fixture.clone()); 
    } else { 
    $('.fixture').replaceWith(fixture.clone()); 
    } 
} 

beforeEach(function() { 
    resetFixture(); 
}); 

ジャスミンでのテストは、次のエラー

で失敗したindex.html公開/テスト/

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

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

    <!-- App Dependencies --> 
    <script src="lib/jquery-2.1.4.js"></script> 
    <script src="/vendor.js"></script> 

    <!-- Test libraries --> 
    <script type="text/javascript" src="lib/jasmine-2.3.4/jasmine.js"></script> 
    <script type="text/javascript" src="lib/jasmine-2.3.4/jasmine-html.js"></script> 
    <script type="text/javascript" src="lib/jasmine-2.3.4/boot.js"></script> 

    <!-- include source files here... --> 
    <script type="text/javascript" src="/app.js"></script> 

    <!-- include spec files here... --> 
    <script type="text/javascript" src="SpecHelper.js"></script> 
    <script type="text/javascript" src="app_spec.js"></script> 
</head> 

<body> 
    <!--This is always empty! --> 
    </body> 
</html> 

1 spec, 1 failure 
Spec List | Failures 
learnJS can show problem view 
Expected 0 to equal 1. 

答えて

0

が、それはworking..phewだ...開発者向けツール、ネットワークに行くことによって、ブラウザのキャッシュをクリアしなければなりませんでした。私は、ほとんどのファイルがメモリから選択されていることに気づいた。右クリックして、キャッシュとCookieをクリアしました。

0

試してみてください。この

fixture = $('<div class="fixture" style="display: none">').append(markup.html()); 

はその後、多分

$('body').append(fixture.clone().html()); 
+0

申し訳ありませんが、機能しませんでした。それは奇妙ですが、私は単純なサーバーの代わりにライブサーバーを使用する場合、元のコードが動作します!何らかの理由で考えることができますか? 1つの違いは、私はWindows上のbashからシンプルなサーバーを実行していることと、Windowsのcmdからライブサーバーを実行していることです。 –

関連する問題