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

testing - 如何使用带有参数化类型的 assertEqual

我正在尝试使用HUnit以 TDD 方式在 Real World Haskell 中进行练习。正如您可能猜到的那样,我还没有走多远,所以当谈到 Haskell 时,我绝对是初学者。给定以下代码,我如何解决 ghci 产生的以下错误:

模棱两可的类型变量a' in the constraints: Show a' 由于使用assertEqual' at List_Test.hs:6:27-58 Eq a' 源于在 List_Test.hs:6:27-58 处使用 `assertEqual' 可能的修复:添加修复这些类型变量的类型签名

List_Test.hs:

列表.hs:

我尝试向 List 声明和 toList 定义添加类型约束但没有成功。互联网搜索也没有提供任何信息。

0 投票
2 回答
16275 浏览

haskell - 在子目录中导入模块的 Haskell 语法是什么?

Haskell 在另一个目录中导入模块的语法是什么?

我刚开始使用 Haskell,想练习用 HUnit 编写简单的函数 TDD 风格。不过,我无法弄清楚如何构建我的文件。HUnit 附带的示例似乎是一个平面目录结构。

我希望将测试和 HUnit 代码放在与实际代码不同的文件夹中。我将不胜感激一个快速示例导入语句和关于如何构建我的文件的建议。

如果重要的话,我现在正在使用 GHCi 和 NotePad++ 进行编码。

0 投票
2 回答
633 浏览

haskell - 带有类型错误的 HUnit 测试用例

我写了一个类似于 LISP 的函数flatten

这两个测试用例工作正常:

然而,这个报告一个类型错误:

REPL 的测试工作正常:

为什么会出现错误,我应该如何为空列表编写测试用例?

编辑:这是确切的错误消息:

0 投票
1 回答
302 浏览

exception - 优化和错误调用测试之间的交互

我在一个看起来像这样的模块中有一个函数:

我当然可以 returnMaybe String或其他一些变体,但我认为可以公平地说,用负数调用这个函数是程序员的错误,所以error在这里使用是合理的。

现在,因为我喜欢 100% 的测试覆盖率,所以我想要一个测试用例来检查这种行为。我试过这个

它有点工作,但在使用优化编译时失败:

我不确定这里发生了什么。似乎尽管我使用了evaluate,但该功能并未得到评估。此外,如果我执行以下任何步骤,它会再次起作用:

  • 去掉HUnit,直接调用代码
  • 移动throwIfNegative到与测试用例相同的模块
  • 删除类型签名throwIfNegative

我认为这是因为它会导致以不同方式应用优化。任何指针?

0 投票
2 回答
1222 浏览

haskell - 具有持续集成的 HUnit/QuickCheck

是否有任何 HUnit 或 QuickCheck 扩展允许像Bamboo这样的持续集成系统对测试结果进行详细报告?

到目前为止,我最好的想法是简单地触发测试作为构建脚本的一部分,并依靠测试以非零退出代码失败。这对于在测试失败时引起注意是有效的,但会将构建失败与测试失败混淆,并且需要通过控制台输出来确定问题的根源。

如果这是当前工具的最佳选择,我的想法是为 HUnit 编写一个报告模块,该模块将生成JUnit XML 格式的输出,然后将 CI 工具指向它,就好像它正在报告 Java 项目一样。不过,这似乎有些骇人听闻,因此我很感谢您对现有选项和新开发方向的想法。

0 投票
1 回答
922 浏览

macos - HUnit 没有在 Mac 上导入

在全新安装的 Haskell Platform for Max OSX 上,以下代码在import Test.HUnit使用runghc解释器运行时失败。

但是,当使用 ghci 时,做一个简单的import Test.HUnit工作就好了。

如何解决ghc命令行和ghciREPL 之间的这种差异?

0 投票
1 回答
2674 浏览

haskell - 将单元测试与 Haskell's Cabal 集成的当前状态?

当我在谷歌上搜索如何将单元测试与 cabal 文件集成时,我要么找到

您今天将如何使用 cabal 运行所有单元测试(例如,每次我执行“cabal 构建”时)?

0 投票
1 回答
1902 浏览

haskell - 无法将 HUnit 导入 ghci

我刚刚安装了 HUnit,并想将其导入 ghci。

另外,我不确定如何使用-v来帮助我。

我该如何导入它?

0 投票
1 回答
245 浏览

haskell - 如何将 HUnit 添加到 Yesod 项目

我是 Yesod 的初学者,并且没有使用 Cablal 的经验 - 我使用脚手架工具来初始化一个新的 Yesod 项目,编写了一些处理程序和其他代码,现在我正在努力添加一些 HUnit 测试 - 如何在最好的办法?使用 cabal 的测试套件选项?如果是,那么究竟如何?.cabal 文件的一些示例以及如何运行测试会有所帮助。

0 投票
2 回答
1480 浏览

haskell - 获取里面的函数名

我有一堆函数,比如:method1, method2, method3. 对于所有这些都有HUnit测试功能,例如:testMethod1, testMethod2, testMethod3.

我想避免将函数名称作为错误消息的前缀进行冗余复制,并将其称为:

如何实现(赞赏任何“魔术”技巧)?

所以实际上的问题是如何在它的定义中使用函数名称?


更新

从原始问题中实际上并不清楚,我也想处理这种情况:

最后我想写这样的东西: