问题标签 [haskell-spock]

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 回答
111 浏览

haskell - 测试 wai 应用程序的状态更新

我有一个在Wai之上编写的应用程序,配置为具有一些自定义状态并且可以使用Test.Hspec.Wai进行测试。

我可以测试请求/响应交互,但我无法弄清楚如何测试状态变化;具体来说,如果我的应用程序状态是 a TVar Text,我如何在测试中从中获取值,以验证其值?


*) 请注意,getState我这里所说的方法在撰写本文时并未在最新的 LTS 中导出;添加 hspec-wai-0.10.1 以extra-deps获得具有此处提到的所有功能的版本。

0 投票
1 回答
277 浏览

haskell - 构建 Spock 教程示例失败

我想稍微了解一下 Haskell,因此看了一下 Spock 框架。首先,我从我的 Arch Linux 机器上卸载了所有与 Haskell 相关的东西,并使用各自网站上的安装脚本安装了 ghcup、Cabal 和 Stack。

现在我想按照Spock 的教程。尝试cabal install Spock按照建议在全局范围内安装 Spock 会给我一个错误(缩写):

我已经在reddit 上找到了关于该主题的问题,但该解决方案不适用,因为我没有尝试使用隐含的特定版本的库。

所以我尝试跟随并仅在本地构建。但是当我达到它所说的地步时,stack build --fast --pedantic无法构建构建计划,并且 Stack 建议添加另一个依赖项,stm-containers. 这样做,我收到了两个关于focus和的额外建议primitive。当我添加这些时,计划再次失败,这次没有简单的解决方案:

我可以用 Haskell 做一些小事,但是使用构建系统,我已经走出了自己的舒适区。帮助和提示表示赞赏。哦,当然,所有版本都是本文发布时的最新版本。

0 投票
1 回答
66 浏览

haskell - 无法在 Spock 和 Lucid 中创建的应用程序中显示 IO [[String]]

我对 Haskell 中的 Spock、Lucid 和 IO 有疑问。我有一个功能

的输出f是语句“SELECT * FROM TABLE”的结果,其中将 [MySQLValue] 列表转换为 [String] 列表。

然后我想使用fSpock 中的函数在我的应用程序中显示输出。我尝试使用类似的东西:

Wherec用于创建与 DB 的连接。但它不起作用。错误是:“没有因使用‘mapM’而产生的(可遍历 IO)实例”。

如果我尝试:

它是正确的。所以我的问题是 - 我如何f在这个应用程序中使用结果?