- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下架构:
backend
├── Chat.hs
├── Main.hs
└── Message.hs
test
├── backendSpec
│ └── MessageSpec.hs
└── Spec.hs
<小时/>
我的 .cabal 文件包含以下内容
test-suite spec
build-depends: base, hspec == 2.*,
snap >= 0.14.0.6,
containers,
aeson,
text,
transformers,
stm,
snap-core,
snap-server,
socket-io,
engine-io-snap,
snap-cors,
bytestring
hs-source-dirs: test
main-is: Spec.hs
Type: exitcode-stdio-1.0
但是当我这样做时
stack test
HSpec 找不到我的测试 int MessageSpec.hs。
Finished in 0.0002 seconds 0 examples, 0 failures
Spec.hs 是正确的输入:{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
我的 MessageSpec 模块正在公开:模块 MessageSpec (main, spec)。
你能帮我找到一种方法让我的堆栈项目完成所有测试吗?
谢谢,
最佳答案
您的规范路径必须遵循模块名称约定。 backendSpec.MessageSpec
不是有效的模块名称,因为它以小写字母开头。
此外,规范的模块名称与原始模块的区别仅在于附加后缀 Spec
。 backendSpec
中的模块不会遵循以下规则:
module Message where ...
-- vs
module BackendSpec.MessageSpec where ...
因此,要解决此问题,请确保 test
目录中的所有目录均以大写字母开头。但更好的是,确保测试目录与您的 src 目录具有相同结构,因为这将在测试期间产生更好的模块名称:
-- If file is test/BackendSpec/MessageSpec.hs
BackendSpec.Message:
<someDescription>
<some assertion>
<some assertion>
<some assertion>
对比
-- If file is test/MessageSpec.hs
Message:
<someDescription>
<some assertion>
<some assertion>
<some assertion>
(该行为的相关代码可以在hspec-discover
的hspec/Run.hs
中找到)
关于haskell - 将 HSpec 与堆栈结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005167/
是否有办法阻止成功的测试被打印到屏幕上?目前我有很多测试,输入很长,我只关心看到失败? 编辑:我正在运行我的测试 堆栈测试 解决方案: 感谢@mb14的回答,我能够搜索到我想要的内容。 直接运行测试文
我正在学习 Haskell,我已经编写了这个函数: safeHead :: [a] -> Maybe a safeHead [] = Nothing safeHead (x:xs) = Just x
我编写了一系列测试,使用 automatic spec discovery Hspec 的特点。我也在使用 stack作为我的构建工具。 我的测试目录有 Spec.hs文件,以及我的应用程序的不同模块
我有以下架构: backend ├── Chat.hs ├── Main.hs └── Message.hs test ├── backendSpec │ └── Me
我是一个 haskell 菜鸟,在使用酸状态测试函数时遇到问题。这是我的数据结构 data UserState = UserState { name :: String } deriving
我有一个程序,它从 getLine 获取用户输入,然后验证它是否全是数字。如果通过,它运行 String -> String 函数并将结果打印到屏幕。如果不是,它会重复 getLine。 module
我正在努力解决 do block 中 where 的语义,特别是 Test.Hspec。以下作品: module ExampleSpec where import Test.Hspec import
我正在尝试安装 hspec,但我得到了这个: $ cabal install hspec Resolving dependencies...
这是我的stack.yaml文件声明 hspec作为额外的依赖: # Specifies the GHC version and set of packages available (e.g., lt
我使用 cabal init 为我的 Haskell 项目构建了初始代码库 我有几个用 Hspec 编写的测试。 上 cabal test它像预期的那样编译和运行这些测试,并给出失败/通过的消息。 现
我在类似的线路上发现了其他问题,但在这种特定情况下没有回答我的问题。此外,似乎很少有资源能够简洁地涵盖 Haskell 中单元测试 IO 操作的主题。 假设我的数据库通信有这个类型类: data So
我正在尝试开始使用 hspec。我有一个使用 QuickCheck 的工作案例,但我只想在运行 cabal test 时了解更多细节。我找到了 this article来自 hspec,提供有关在运行
类似于quickcheck如何支持反例: property \x -> counterexample ("Foo failed with: " ++ ...) $ foo x 但在某种程度
我正在尝试使用 HSpec 和 QuickCheck 来验证 Monoids 的属性(关联性和标识元素)。我将验证特定实例,但希望保留大部分代码的多态性。这是我几个小时后想到的: module Tes
这是一件令人愤怒的事情,因为我已经构建了基于 Hspec 的测试套件,其中颜色都表现正常。但是在这个项目中,当我一次运行所有测试套件时,我无法让颜色出现。 我的 project.cabal 是这样设置
我是一名优秀的程序员,十分优秀!