2016-03-24 18 views
0

Merhaba JavaScript Ünitesi Testi için çok yeni ve mevcut JavaScript'in test edilip edilmeyeceğini görmeye çalışıyorum.QUnit Sınama: ifşa etmek bir işlev değil

Test çalıştırıcım var, ancak bu hatayı işlevsellik açısından alıyorum.

Test Aracı sadece an için bir şeyler test etmek yoktur işaretleme:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>QUnit Main Test Suite</title> 
    <link rel="stylesheet" href="../qunit.css">  
    <script src="../sinon-1.17.3.js"></script> 
    <script src="../jquery-2.2.2.min.js"></script> 
    <script src="../qunit.js"></script> 
    <script src="PreferenceControl.js"></script> 
    <script src="tests.js"></script>   
</head> 
<body> 
    <div id='MainContentDiv'> 
     <div id='PreferenceType'>PreferenceFrequency</div> 
     <div id='PreferenceId'>1</div> 
     <table id='RadioButtonList'> 
      <tbody> 
      <tr> 
       <td> 
        <span id='1'> 
         <input id='RadioButtonList_0' type='radio' name='RadioButtonList' value='1'> 
        </span> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <span id='2'> 
         <input id='RadioButtonList_1' type='radio' name='RadioButtonList' value='2' checked='checked'> 
        </span> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <span id='3'> 
         <input id='RadioButtonList_2' type='radio' name='RadioButtonList' value='3'> 
        </span> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <span id='4'> 
         <input id='RadioButtonList_3' type='radio' name='RadioButtonList' value='4'> 
        </span> 
       </td> 
      </tr> 
      </tbody> 
     </table> 
     <input type="submit" name="SaveButton" id="SaveButton" /> 
     </div> 
     <div id="CheckBoxList"></div> 
    <div id="qunit"></div> 
    <div id="qunit-fixture">test markup</div> 
</body> 
Aşağıda

Üzerinde kırıyor bölümdür: Bu sonuçlarıdır

this.loaderContainer = $('#AjaxLoader', this.mainContentDiv); 

if (this.loaderContainer.length == 0) { 
    this.loaderContainer = $("<div id=\"AjaxLoader\" class=\"full-width columns alpha omega\">" + 
           "<span class=\"loader\"><img src=\"/Common/CSS/Core/Images/Throbbers/Ajax-Loader.gif\" style=\"display: none\" ></span>" + 
          "</div>"); 

    this.loaderContainer.appendTo(this.mainContentDiv); 
} 

this.loaderContainer.reveal({ 
    animation: 'throbber' 
}); 

benim kesin:

enter image description here

Bunun nasıl düzeltileceğinden emin değilim, ya da bunu yapma şeklim mümkün mü? Herhangi bir yardım çok takdir edilecektir, şimdiden teşekkür ederim.

+0

Neden "ortaya çıkar" ın jQuery nesnesinde bir işlev olması gerektiğini düşünüyorsunuz? Sorunuz bu bilgi olmadan eksik. Kullanmaya çalıştığınız bazı eklentiler var mı? Http://zurb.com/playground/reveal-modal-plugin adresini dahil etmeyi unuttun mu? –

+0

Konu bu, değil. Eklentiye bir referans eksikti. Özellikle bu sorunun eksik olduğunu düşünmüyorum, çünkü bu eklentiyi bilen biri, onu referans göstermeden çağırmaya çalıştığımı anlayacaktır. Bu bilgi olmadan eksik olduğunu söylüyorsunuz, ama bu düzeltmek için ihtiyacım olan bilgiler. – ICTech

+0

Bir dosyaya bağlanmayı unutmak, bir sorunun kapatılması/silinmesi gerekçelerinden biridir. Daha sonra, http://meta.stackoverflow.com/questions/322738/should-questions-resolved-by-missing-javascript-files-be-closed –

cevap

0

Bu, .reveal yöntemiyle ilgilenen başka bir kitaplığa yapılan atlanmış bir başvurudan kaynaklanmaktadır.

0

jQuery ürününün reveal() yöntemi yoktur. Bu kod satırında ne yapmaya çalıştığınızdan emin değilim, ama belki de easing option specified ile show() yöntemini mi arıyorsunuz?

QUnit'ten gördüğünüz hata, reveal() işlevinin mevcut olmamasıdır (çünkü jQuery'nin bir parçası değildir). Eğer sizin için bir reveal() işlevi sağlayan bir eklenti kullanıyorsanız, o JS dosyasını test kablo demetinize (HTML belgesi) eklemeniz gerekir.

+0

Belki de http://zurb.com/playground/reveal-modal-plugin –

+0

Başka bir eklentiden. Kod satırı, bir animasyonlu öğeyi, dolayısıyla bir animasyon param kümesiyle .reveal olduğunu ortaya çıkarmaktadır. Bu soru şu anda bir aydan fazladır, belki de sadece kendim cevaplamam gerekirdi. – ICTech

+0

@ICTech Evet, postayı silmek ya da kendinize cevap vermek kibarca olurdu, aksi takdirde, diğerleri size yardım etmeye çalışmak için zamanlarını harcıyorlar. –