我有一個小的Parsec程序,我使用QuickCheck腳本來測試,它可以並行生成輸入文件和預期的解析。在QuickCheck生成奇怪的字符串
我的測試通常運行100次測試正常,但後來突然間因爲我隨便測試了一些東西,他們以非常大的(600,000個字符)反例失敗。當我發現了錯誤的根源,我非常困惑:
\ETX\NUL\202&Hxv4\an3z\244\143\222\RS\236\n\150K
快速檢查顯然產生上述字符串變量名,即使我只用alphaNum,下劃線和空格在我的計劃。
你能看出爲什麼上述順序可能出現的任何原因嗎?它可能是一個溢出錯誤的地方?或QuickCheck運行速度不足並寫入調試消息?
我們可以看到你的代碼嗎? – jozefg
我很抱歉。事實證明,我確實有一個可以創建一般字符串的條件。這非常罕見。我應該刪除這個問題嗎? –
不,請留下它,但考慮添加代碼,以便其他人可以看到發生了什麼 – jozefg