Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 未在VS代码中找到HUnit(生成依赖项问题)_Haskell_Testing_Dependencies_Cabal_Hunit - Fatal编程技术网

Haskell 未在VS代码中找到HUnit(生成依赖项问题)

Haskell 未在VS代码中找到HUnit(生成依赖项问题),haskell,testing,dependencies,cabal,hunit,Haskell,Testing,Dependencies,Cabal,Hunit,更新:所以,在进一步挖掘之后,我实际上在StackOverflow上找到了一个解决方案(很抱歉制作了一个复制线程)。对于将来回顾这一点的人来说,使用命令“cabalv2install--libhunit”和“cabalv2repl”效果很好!这是帮助我解决问题的线索: 我目前正试图让HUnit(对于Haskell)使用VisualStudio代码,但是,我遇到了一些错误,我不知道它们是什么意思。我已经在互联网上搜索了几个小时了,不幸的是,我找不到任何解决我问题的方法。如果有人对此有任何想法,我将

更新:所以,在进一步挖掘之后,我实际上在StackOverflow上找到了一个解决方案(很抱歉制作了一个复制线程)。对于将来回顾这一点的人来说,使用命令“cabalv2install--libhunit”和“cabalv2repl”效果很好!这是帮助我解决问题的线索:

我目前正试图让HUnit(对于Haskell)使用VisualStudio代码,但是,我遇到了一些错误,我不知道它们是什么意思。我已经在互联网上搜索了几个小时了,不幸的是,我找不到任何解决我问题的方法。如果有人对此有任何想法,我将不胜感激!我也有一个问题,特别是为Windows找到解决方案,因为我是一个Windows用户,这一直是一个相当大的问题

因此,问题是,当在我的文件夹中的powershell中使用Haskell文件运行“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]
总而言之,我是一个新手,不太清楚这是怎么回事,所以任何帮助都将不胜感激