2014-09-04 44 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

相關問題