问题标签 [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.
haskell - HSpec(或HUnit)是否可以将更多信息附加到打印的断言中,并且仅在失败的情况下?
类似于 quickcheck 如何支持反例:
但在某种程度上它适用于shouldBe
,例如
我希望它可以打印以下内容:
haskell - 异常的单元测试
我可以编写一个测试用例Test.HUnit
来检查调用是否引发异常?
我只关心它是否抛出任何错误,不管它打印什么消息。
haskell - 如何使用 Hunit 测试导入 Control.Monad.Except?
我如何测试Control.Monad.Except
(两个保护结果)如下函数:
使用hunit
?
haskell - Haskell 中类型类实例实现的通用单元测试模式
我想知道是否存在编写通用单元测试代码的已知模式,其目的是检查(作为黑盒)类型类的各种实例(实现)。例如:
我想编写一个tests
返回 a的函数,该函数Test
以某种方式指定tests
代码适用的特定实例。我正在考虑tests
使用默认实现添加类的定义(暂时忽略测试代码和实际代码之间的耦合问题),但我不能简单地拥有tests :: Test
,即使我尝试tests:: a -> Test
(因此必须人为地通过一个具体的给定类型的元素来调用函数),我不知道如何引用cons
和foo
在代码内部(类型注释(cons 0) :: a
不会这样做)。
假设我有class (Eq a) => M a where ...
,使用 typesA
和B
deriving Eq
,我可以用类似的东西欺骗编译器(添加到 的定义中M
):
但这对我来说非常难看。任何建议都热烈欢迎
haskell - 如果测试中存在“Nothing == Nothing”条件,HUnit 不允许编译测试用例
我遇到了一个奇怪的HUnit
行为。如果测试中存在条件,则不允许编译Nothing == Nothing
测试用例。这是我重现此行为的代码:
尝试使用此内容加载文件会ghci
返回以下错误:
请注意,Just 2 == Just 2
同一测试用例中的条件可以正常工作。如果我输入Nothing == Nothing
,ghci
它会True
按预期返回。
任何想法为什么HUnit
会这样?这是错误还是预期行为?
haskell - 是否可以在 HUnit 中断言错误情况?
如果我有一个导致某个输入错误的函数,是否可以编写一个测试来验证该输入是否发生错误?
我在HUnit中找不到这个“断言错误”功能。它是否在 HUnit 或其他一些测试包中可用?
haskell - 为什么我的测试文件不能导入我的数据结构?哈斯克尔
我目前正在为我的(非常简单的)二十一点游戏编写单元测试,而我的测试文件(Tests.hs)似乎没有导入我在我正在为(HelpFunctions.hs)进行单元测试的文件中声明的数据结构。我可以访问此文件中的函数/方法,但不能访问数据结构。有人可以帮我找到问题吗?
这是我的测试文件的顶部:
这是我要为其编写测试的文件的顶部
编译测试文件时出现错误
我有另一个文件可以从中导入 HelpFunctions 和数据结构,并且可以正常工作。
unit-testing - 如何对无法构造时抛出的智能构造函数进行单元测试?
我正在实现执行运行时检查的“智能”构造函数,如此处所述 https://wiki.haskell.org/Smart_constructors#Smart.28er.29_constructors
我的第一个问题是:如何对抛出的无效参数进行单元测试?
这是我尝试过的
结果是
我的期望是在单元测试中捕获异常(assertThrow ?)并且测试成功。
我的第二个问题可能是更多的意见基础,但我不确定智能构造函数采用哪种方法:有错误的方法或有 Conntrol.Exception.assert 的方法
从长远来看,我觉得使用错误解决方案会更好;为了清楚起见以及代码维护和错误跟踪,再加上繁琐的编写一次总比繁琐的阅读 1000 次要好。
haskell - 无法阴谋集团安装 hunit
这里的 Haskell 生态系统非常新。我正在尝试安装 hunit,但是当我运行时,cabal install hunit
我收到以下消息:
haskell - Haskell HUnit 功能测试
我正在尝试为我用 Haskell 编写的一个简单的井字游戏程序设置一系列测试,但由于一个奇怪的错误被抛出读取,我无法通过我的第一个测试:
值“x”是一个 int,但 Haskell 将其读取为“IO Int”,这是错误的,因为我指定了“x :: Int”。正在测试的函数已被指定为“test_user_value :: Int -> IO Int”,所以我不确定它为什么错误地解释了变量。任何建议,将不胜感激。