问题标签 [hunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
115 浏览

haskell - 针对任何一个的美味 HUnit 测试

我对 Haskell 相当陌生,我想知道是否有一种方法可以测试模式匹配,就像在 erlang 中一样。一个例子是返回一个 Either ab 的函数,我可以匹配 Left b,同时忽略 b 本身吗?

就我而言,我有字符串错误。我只是想测试是否发生错误,但是为每个测试用例写出整个错误文本有点乏味,所以我只想断言它实际上确实返回了 Right 错误。

0 投票
0 回答
112 浏览

haskell - Haskell Cabal HUnit

我在学校有一个项目需要使用

我已经安装了它,我使用 cabal

但是当我尝试运行我们的代码时,我们会收到以下错误消息:

我的第一个想法是尝试删除其中一个包,因此它们不会重叠。但是当我使用:

我找不到 HUnit 包。找不到怎么删除??

(我是 Haskell 和一般编程的初学者)

0 投票
1 回答
117 浏览

unit-testing - Haskell:单元测试中的多个断言?

我查找了一个类似的主题,并从这里找到了这段代码:https ://stackoverflow.com/a/21419654/14386048

引用:
假设我们有模块SafePrelude.hs

我们可以TestSafePrelude.hs如下进行测试:

-- End Quote --
是否有可能在里面有多个断言,比如说,testSafeHeadForEmptyList?我正在尝试对类似案例的测试样本进行分类,但只是不同的变体。我想避免下面这样的事情(假设每个 assert equal 都有不同的变化,但都应该什么都不返回,例如):

这在 Haskell 中可行吗?

0 投票
0 回答
101 浏览

haskell - 未找到 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”时出现以下问题:

我认为这与我的 .cabal 文件中的构建依赖项有关,所以这是我拥有的 .cabal 文件:

我已经将它与其他人制作的其他项目进行了比较,从外观上看,似乎您只需要在“build-depends”中使用 HUnit 并将其导入“main-is”下所述的文件中(在我的情况下为 TestFile.hs)。所以在我的测试文件中,我基本上只是定义了我自己的 even 函数来测试它并分配了一些测试。虽然我不完全确定为什么会发生此问题,但我也会在下面显示此代码以防万一。

总而言之,我很新,不太确定这是如何工作的,所以非常感谢任何帮助!

0 投票
1 回答
51 浏览

haskell - 对模块的内部功能进行单元测试,同时避免依赖于测试框架和 HUnit

背景

使用堆栈及其预设文件Spec.hs,据我所知,您需要导入以下测试框架模块才能执行正确的测试:

因此,您还需要将添加依赖项添加到package.yaml文件中,如下所示:

如果您将主题导入测试(调用它MyModule)并在该模块中实现测试用例Spec.hs,那么您无法测试模块内部使用的功能(MyModule)。

要测试内部功能,您可以在模块 ( MyModule) 中实现测试并导出测试。

但是接下来你还需要导入测试框架(至少是Test.Framework、Test.Framework.Providers.HUnit和Test.HUnit),还需要在( MyModule)的库中添加额外的依赖。因此,package.yaml 看起来像这样:

问题

是否有更精益的方法来导出模块的单元测试MyModule

0 投票
1 回答
89 浏览

haskell - 在 haskell 中模拟数据库连接

我正在尝试在 haskell 中编写一些简单的代码,其中有一个函数执行简单的数据库查询。为了使用 HUnit 对 Iam 进行单元测试,但不确定如何模拟数据库连接和查询响应。