私はJasmineフレームワークでジャバスクリプトを学習してテストしようとしています。私のjavascriptは空白にtextareaのプレースホルダ属性を設定するだけです。エラー - TypeError:expect(...)。toHaveValueが関数ではありません
function clearPlaceholderTextOnFocus(i) {
i.placeholder = '';
}
私はtextareaのonClickイベントでこの関数を呼び出しています。私はSpecRunner.htmlをダブルクリックすることで、このコードを実行すると、私はエラーの下に取得しています
describe("Test suite for clearPlaceholderTextOnFocus",function(){
it("Should set placeholder to blank", function(){
var i=affix('textarea[name="message"][placeholder="write your message here..."]');
clearPlaceholderTextOnFocus(i);
var placeholderval = $('i').attr('placeholder');
expect(placeholderval).toHaveValue('');
});
});
をspec-ジャスミンのコードの下に書いた -
はTypeError:。期待して(...)toHaveValueではありません関数
私も試したことがあります - 期待(placeholderval).toEqual( ""); しかし、私はこのエラーが表示されます - 期待値未定義と等しい ''。以下は
は私のSpecRunner.htmlファイルです:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v2.5.2</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.5.2/jasmine_favicon.png">
<link rel="stylesheet" href="lib/jasmine-2.5.2/jasmine.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"></script>
<script src="lib/jasmine-2.5.2/jasmine.js"></script>
<script src="lib/jasmine-2.5.2/jasmine-html.js"></script>
<script src="lib/jasmine-2.5.2/boot.js"></script>
<script src="lib/jasmine-2.5.2/jasmine-jquery.js"></script>
<script src="lib/jasmine-2.5.2/jasmine-fixture.js"></script>
<!-- include source files here... -->
<script src="src/myfirst.js"></script>
<!-- include spec files here... -->
<script src="spec/myfirstSpec.js"></script>
</head>
<body>
</body>
</html>
私のスペックコードと間違っていますか?プレースホルダの価値をどのように得ることができるので、それが今空白であるかどうかを確認できます。
私の関数が実行された後、どのように属性 'プレースホルダ'の値をtextareaから得ることができますか? – Kate
ありがとうございました。あなたの答えは便利でした – Kate