2014-09-04 53 views
0

我的工作测试用例关于与jqunit的assisstance reular表达:jqunit,测试正则表达式在某些时候失败了,为什么?

test("Date entry should be a Date", function() { 
    ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10.12.2014"), "Date is not parsed correctly: 10.12.2014"); 
    ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10-12-2014"), "Date is not parsed correctly: 10-12-2014"); 
    ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10/12/2014"), "Date is not parsed correctly: 10/12/2014"); 
}); 

第二个条件是失败的,但在浏览器的控制台或者regexr.com 所有的人真正执行它们。任何提示,这种行为来自哪里?

回答

2

不要使用g标志的正则表达式时,你只用test:它没有意义,更重要的是,它使一个迭代器,其结果与每个调用test的变化,我想字面正则表达式在jqunit中多次使用。

变化

/(\d+[-/\.]\d+[-/\.]\d+)/g 

/(\d+[-/\.]\d+[-/\.]\d+)/ 
+0

这是没有意义的更改代码只是为了让测试高兴。我们编写代码来解决问题。我们不写测试代码。看到我的答案在这里:http://stackoverflow.com/questions/25851583/js-regex-match-one-or-multiple-occurences/25851775#25851775 – 2014-09-15 15:40:42

+0

@JoeFrambach你注意到正则表达式与'测试'函数(这是一个标准的JavaScript函数,它与任何测试单元系统没有链接)? – 2014-09-15 15:42:56

相关问题