问题标签 [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 回答
102 浏览

haskell - cabal 测试包安装期间的随机 Word8 重复实例声明

失败时以下错误消息是什么意思cabal install testpack-2.1.1

我试过谷歌搜索,但无法理解这个安装错误。

0 投票
1 回答
5873 浏览

haskell - 找不到模块 Test.HUnit

我正在尝试在 Haskell 中进行一些单元测试,这基本上是我在代码中所做的:

当我尝试使用 gchi 编译它时,我收到以下消息:

如何让 HUnit 工作?

我正在使用 GHCi 版本 7.8.3

谢谢

编辑:

作为建议的答案,我尝试通过 cabal 安装 HUnit,但随后出现错误:

然后我使用了命令:

我收到了这条消息:

所以我使用了命令:

重新安装以防万一,我收到消息:

我应该怎么办?

0 投票
2 回答
764 浏览

unit-testing - 测试一个接受空列表的函数

我正在尝试为简单函数编写一个单元测试,该函数接受一个列表并返回它,

使用测试代码来测试它在给定一个空列表时是否按预期工作

但是,我得到了错误

其他具有非空列表的测试工作正常,并且在通过调用手动测试时该函数工作func []正常ghci

我还注意到,如果我创建一个虚拟类型,并制作一个包含该类型元素的列表(如果这是正确的说法),那么将其传递给测试似乎有效,并且测试通过

为什么是这样?有没有办法在不走虚拟类型路线的情况下用空列表测试函数?

0 投票
1 回答
591 浏览

unit-testing - 模拟 IO 操作:getArgs 和 putStrLn

我正在尝试测试一个小函数(或者更确切地说,IO Action),它接受一个命令行参数并将其输出到屏幕上。我原来的(不可测试的)功能是:

在查看了这个关于 mocking 的答案之后,我想出了一种方法来模拟getArgsputStrLn使用类型类约束类型。于是上面的函数就变成了:

Library.Prelude.也是System.Environment.为了避免编译器的抱怨Ambigious Occurence。我的测试文件如下所示。

我正在使用一个State有效包含 2 个字段的 monad。

  1. getArgs模拟从中读取的命令行参数列表
  2. putStrLn模拟放置传递给它的内容的字符串。

上面的代码有效,似乎测试了我想要测试的内容。但是,我想知道是否有更好/更清洁/更惯用的测试方法。一方面,我使用相同的状态将东西放入测试(我的假命令行参数),然后从中取出东西(传递给putStrLn.

有没有更好的方法来做我正在做的事情?我更熟悉在 Javascript 环境中进行模拟,并且我对 Haskell 的了解非常基础(我通过大量试验和错误得出上述解决方案,而不是实际理解)

0 投票
1 回答
255 浏览

haskell - 如何在 Haskell 中使用 HUnit 测试我自己的数据类型?

Queue.hs 的一部分:

我正在使用打印,看看他们是否一一正确。现在我想用 HUint 来测试它们。

主要.hs:

这是我得到的:

那么我该如何解决呢?

0 投票
1 回答
499 浏览

unit-testing - 测试框架和 HUnit 的问题

我在使用 Test-Framework 和 HUnit 设置单元测试时遇到问题。
我的测试文件中有以下导入:

当我尝试加载文件时,ghci我收到错误消息:

只有加载Test.FrameworkTest.Framework.Providers.QuickCheck2工作并且可以运行测试。根据cabal test-framework-hunit 安装:

在-file 中也test-framework-hunit被列为依赖项:my_project.cabal

我究竟做错了什么?如果这很重要:我正在将所有内容安装到cabal-sandbox.

0 投票
1 回答
1826 浏览

haskell - 在 CodeRunner 中执行 Haskell 的单元测试 (HUnit) 时出现“找不到模块‘Test.HUnit’”错误

我有 Haskell 的 HUnit 的简单单元测试代码。我使用 Mac OS X 10.10,并安装了带有cabal install hunit.

我可以执行它runhaskell TestSafePrelude.hs以获得结果:

但是,当我在Code Runner中运行它时,出现找不到 HUnit 模块的错误消息。

在此处输入图像描述

CodeRunner 在不同的 shell 环境中启动测试,这似乎是问题所在。如果是这样,需要添加哪些环境变量?如果不是,可能是什么导致了问题?

在此处输入图像描述

我还发现ghc-pkg list从 CodeRunner 不会搜索~/.ghc包含 HUnit 的目录。

这是在 shell 中执行时的结果:

我在路径中添加了~/.cabal~/.ghc,但它不起作用。

0 投票
1 回答
136 浏览

haskell - 测试中 Text.XML.Light.Element 的比较

我正在尝试编写一个简单hunit-test的方法来验证 aText.XML.Light.Element是如何从函数创建的。

功能是:

我的测试很简单:

我得到的是这个错误:

我检查了源代码,Text.XML.Light看起来没有EqElement. 我怎样才能使测试工作?

0 投票
1 回答
79 浏览

haskell - 如何解决此单元测试中的类型歧义

我不知道如何正确注释 mylast3 测试:

我收到以下错误指向“TestCase $ assertEqual”mylast3”行:

没有使用 assertEqual 产生 (Show a0) 的实例 类型变量 a0 不明确

0 投票
1 回答
78 浏览

haskell - 为 Haskell 运行“cabal 测试”的依赖性问题

我正在为 Haskell 运行我的第一个“阴谋集团测试”,但出现错误:

sampel.cabal:

任何帮助表示赞赏。