0
我有一個詞法分析器,並希望針對一組已知的良好測試用例進行測試。這些子目錄中的./test_src/舉行,每個人都有一個擴展測試名 .TXT使用文件相關測試進行HUnit測試
我希望做的是得到的路徑給所有相關的測試案例:
getTestFiles :: IO [FilePath]
find always (extension ==? ".txt") "/path/to/test_src/"
並創建包含HUnit的TestCases一個HUnit TestList每個經由函數沿
testMyLexer :: IO FilePath -> Assertion
線創建的斷言沿
myTest :: [IO FilePath] -> Test
myTest = TestList $ fmap TestCase $ fmap testMyLexer
,我好像在我的做法被failng線的東西是,這似乎首先要求follwoing功能,然後在其結果映射:
unableToDoThis :: IO [FilePath] -> [IO FilePath]
我有一個強烈的懷疑,我下面的辦法是不可能的,因爲它似乎需要逃避IO單子,所以我要問的是:
- 是這種方法可行,如果是這樣我失去了什麼?
- 如果不是,你會如何去解決這個問題?它必須是很常見的,以避免在所有測試用例