我写了以下html文件:
<!DOCTYPE html> <html lang="en"> <head>
<meta charset="UTF-8">
<title></title> </head> <body>
<h1> HELLO WORLD </h1>
<button type="button"> CLICK HERE</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$('button').click(function() {
$('h1').text("Thank you");
var ans = prompt("Please type your age");
if (ans > 80) {
$('h1').text("You're old");
}
})
</script> </body> </html>
我想测试一下,一旦用户点击按钮并提供超过80岁的年龄,页面就会按预期运行,并且h1标签文本会更改为&#34;您已经老了&#34;。
我的问题是如何编写一个Jasmine规范来测试这个功能?
答案 0 :(得分:1)
你需要使用&#34; Spy&#34;反对拦截&#34;提示&#34;功能并返回您自己的价值。检查标题文本后。代码可能看起来像......
deascribe("test inline function:", function() {
it("caption should be 'too old' for age of more than 80", function () {
spyOn(window, 'prompt').and.returnValue(81);
$('button').click();
expect($('h1').text()).toBe("You're old");
});
});