我正在尝试茉莉花来自动化我的JavaScript测试。我只是找不到有关一件事的信息(这里是我想要做的步骤):茉莉花JavaScript测试 - 等待功能测试完成
登录到服务。 (返回SUCCESS或FAILED)
建立到服务器的连接。 (返回SUCCESS或FAILED)
进行测试SIP呼叫。 (return SUCCESS or FAILED)
根据成功/失败,我的规范(场景)失败或通过。
在测试这3件事情时出现问题:每一步都需要时间,特别是数字3.到目前为止,我已经试过了茉莉花,并且能够弄清楚如何做这样的顺序测试,所以每一步(测试)必须完成下一个开始。也许有更好的框架来做到这一点?我正在测试JavasScript,而不是界面(按钮,文本字段等)。
下面是一个基本的情况,我有:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v2.5.2</title>
<!-- voxImplant stuff-->
<script type="text/javascript" src="http://cdn.voximplant.com/voximplant.min.js"></script>
<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 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>
<!-- include source files here... -->
<script src="src/voximp_src.js"></script>
<!-- include spec files here... -->
<script src="spec/voximp_spec.js"></script>
</head>
<body>
</body>
</html>
// Make a test call to play MP3
describe("[VoxEngine Basic Call Test]", function() {
it('does something', function (done) {
VoxEngine.Login_to_a_service()
.then(VoxEngine.Establish_a_connection)
.then(VoxEngine.Make_a_test_call)
.then(function() {
expect(1).toEqual("SUCCESS");
done();
})
.catch(fail)
});
});
window.VoxEngine = {
Login_to_a_service: function() {
// Sleep
var now = new Date().getTime();
while (new Date().getTime() < now + 2000) { console.log("Login processing"); }
console.log("Login done");
return "SUCCESS";
},
Establish_a_connection: function() {
// Sleep
var now = new Date().getTime();
while (new Date().getTime() < now + 2000) { console.log("Connection processing"); }
console.log("Connection done");
return "SUCCESS";
},
Make_a_test_call: function() {
// Sleep
var now = new Date().getTime();
while (new Date().getTime() < now + 2000) { console.log("Call processing"); }
console.log("call failed");
return "FAIL";
}
}
所以基本上,我需要确保他们跑了一个又一个和前一个完成后的下一个运行。比方说,Make-A-Test-Call已完成,然后测试Connection-To-The-Server-Closed是否成功。
感谢。对不起,我对任何WebDev的东西都是100%新的。你能详细解释一下吗? –
@YuriyL:当然,但我必须知道哪部分你不了解。 – georg
对不起!我编辑了我的帖子。请看看我在那里。 –