在堆栈中使用HSpec

Dref360

我有以下架构:

  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。

在0.0002秒内完成0个示例,0个失败

Spec.hs是正确的输入:{-#OPTIONS_GHC -F -pgmF hspec-discover#-}

我的MessageSpec模块正在公开:模块MessageSpec(主要,规格)。

您能否帮助我找到一种方法来使我的堆栈项目完成所有测试。

谢谢,

泽塔

规范的路径必须遵循模块名称约定。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/Run.hshspec-discover

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在PositionedTransition中使用堆栈

来自分类Dev

在Python中使用堆栈

来自分类Dev

在堆栈中使用线程(C ++)

来自分类Dev

在堆栈中使用线程(C ++)

来自分类Dev

将测试文件定义为模块时,使用hspec定义的通过堆栈调用的测试会引发错误

来自分类Dev

如何在堆栈中使用标准

来自分类Dev

盐堆栈:在SLS中使用执行模块

来自分类Dev

为什么在MEAN堆栈中使用mongoDB

来自分类Dev

如何在堆栈中使用急速/ hplayground

来自分类Dev

在C中使用递归的堆栈溢出

来自分类Dev

在Java中使用数组实现堆栈

来自分类Dev

在C中使用堆栈引发异常

来自分类Dev

如何在堆栈中使用标准

来自分类Dev

在Java中使用数组实现堆栈

来自分类Dev

在我的实现中使用堆栈是否正确?

来自分类Dev

如何在超堆栈中使用 HTTP

来自分类Dev

使用Hspec运行HUnit测试

来自分类Dev

Haskell管道和使用HSpec进行测试

来自分类Dev

Haskell管道和使用HSpec进行测试

来自分类Dev

使用 Hspec 测试用户输入

来自分类Dev

如何获取Python递归中使用的堆栈帧总数?

来自分类常见问题

无法在C中使用数组构造堆栈

来自分类Dev

在堆栈跟踪中使用正确的行号抛出异常

来自分类Dev

在Elm中使用堆栈ADT反转字符串

来自分类Dev

在C ++中使用堆栈模板类解析括号

来自分类Dev

在子堆栈/磁带中使用“计划”与“结束”的目的是什么?

来自分类Dev

无法在C中使用数组构造堆栈

来自分类Dev

如何在Flutter中使用Draggable在堆栈内拖动元素?

来自分类Dev

在本机中使用抽屉导航器和堆栈导航器