如何解决找不到 VS Code 中的 HUnit构建依赖问题
更新:所以,在进一步挖掘之后,我实际上在 StackOverflow 上找到了一个解决方案(对于制作一种重复的线程表示歉意)。对于将来回顾这个的任何人,使用命令“cabal v2-install --lib HUnit”然后“cabal v2-repl”运行良好!这是帮助我的线程:Can't cabal install hunit
我目前正在尝试让 HUnit(用于 Haskell)与 Visual Studio Code 一起工作,但是,我收到错误,我不知道它们的含义。不幸的是,我已经在互联网上浏览了几个小时,但我真的找不到任何解决我问题的方法。如果有人对此有任何想法,我将不胜感激!我也遇到了专门为 Windows 寻找解决方案的问题,而且由于我是 Windows 用户,这一直是一个相当大的问题。
因此,问题是在我的带有 Haskell 文件的文件夹中的 powershell 中运行“cabal v2-repl”时出现以下问题:
Resolving dependencies...
cabal.exe: Could not resolve dependencies:
[__0] trying: PKDTicTacToe-0.1.0.0 (user goal)
[__1] unkNown package: HUnit (dependency of PKDTicTacToe)
[__1] fail (backjumping,conflict set: HUnit,PKDTicTacToe)
我认为这与我的 .cabal 文件中的构建依赖项有关,所以这是我拥有的 .cabal 文件:
cabal-version: 2.4
name: PKDTicTacToe
version: 0.1.0.0
build-type: Simple
executable PKDTicTacToe
main-is: TestFile.hs
build-depends: HUnit,base^>=4.15.0.0
hs-source-dirs: .
default-language: Haskell2010
我将它与其他人制作的其他项目进行了比较,从它的外观来看,似乎您只需要在“build-depends”中使用 HUnit 并将其导入到“main -is”(在我的例子中是 TestFile.hs)。所以在我的测试文件中,我基本上只是定义了我自己的偶函数来测试它并分配了一些测试。虽然我不完全确定为什么会出现这个问题,但我也会在下面展示这段代码,以防万一。
module TestFile(myEven) where
import Test.HUnit
myEven :: Integer -> Bool
myEven x = if x `mod` 2 == 0 then True else False
test1 = TestCase $ assertEqual "Even 0" True (even 0)
test2 = TestCase $ assertEqual "Even 4" True (even 4)
test3 = TestCase $ assertEqual "Even 5" False (even 5)
performTests = runTestTT $ TestList [test1,test2,test3]
总而言之,我很新,不太确定这是如何工作的,因此非常感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。