如果断言失败,则继续脚本

时间:2012-07-08 05:22:17

标签: javascript node.js

我对node.js相当新,并且不了解assert模块。这样做的目的是什么?我正在尝试检查某个值是否等于我定义的值,但是当它为假时应用程序崩溃(它会说它会)。使用断言的原因是什么?用if语句检查是否相同或者这是不正确的?

基本上我使用zombie.js来获取输入表单的值。

assert.equal(browser.field('name').value, 'Mike'); 

vs

 if(browser.field('name').value == 'Mike'){
     //continue 
   }

2 个答案:

答案 0 :(得分:2)

Assert语句用于测试,如在单元测试中。测试引擎捕获assert语句失败时抛出的特定类型的错误,并为您提供有关失败的信息。编写好的,简单的测试是良好编程的关键。

答案 1 :(得分:2)

断言用于测试和表现错误。这有点相同。

基本上,你置于断言中的条件是你认为(作为程序员)根据你编程的逻辑肯定必须是真的。除此之外的任何事都应该是不可能的。

如果一个断言触发,它表明某些事情已经发生,使得事情处于程序员认为不可能的状态。因此,正确的做法是停止执行。

因此断言通常不应用于正常的程序流程(包括错误检查)。它们只应用于“哇,嘿,这应该是不可能的”事情。

在你的情况下,你肯定想要if而不是断言,因为语句可能是false的可能性绝对是你不时发生的事情。

有关断言的更多信息:http://en.wikipedia.org/wiki/Assertion_(computing