gpt4 book ai didi

haskell - 在 Haskell 测试中访问测试资源

转载 作者:行者123 更新时间:2023-12-01 23:42:54 26 4
gpt4 key购买 nike

这可能是一个基本问题,但我已经在谷歌上搜索了一段时间...我有一个 Cabal 化的 Haskell 项目,我正在为它编写集成测试。我希望能够在同一个存储库中包含我的项目的测试资源并在测试中访问它们。例如,这是我想要完成的几件事:

1) 将虚拟数据库实例检查到我的存储库中,包括启动数据库进程的 shell 脚本。我想编写一个 Hspec 集成测试来启动数据库进程,对其进行一些调用,然后将其关闭。所以我需要能够找到 shell 脚本,以便我可以在其上使用 System.Process.createProcess

2) 检查成对的“输入”和“输出”文件。我的测试应该处理每个输入文件并将它们与相应的输出文件进行比较以确保它们匹配。 (我读过“golden”,但它似乎并没有首先解决查找/读取输入文件的问题?)

简而言之,我怎样才能在我的 Haskell 项目的根文件夹中创建一个“资源”文件夹,并在测试中找到它的路径?

最佳答案

查看一个使用输入和输出文件的现有项目。

以黑线鳕为例,源码在https://github.com/haskell/haddock .他们将测试文件放在一个文件夹 ( https://github.com/haskell/haddock/tree/master/html-test/ref ) 下,并且它们在 cabal 文件 ( https://github.com/haskell/haddock/blob/master/haddock.cabal ) 中被引用为额外源文件。然后测试代码 ( https://github.com/haskell/haddock/blob/master/html-test/run.lhs ) 使用一些 CPP 宏 (__FILE__) 获取当前目录,然后可以解析与该文件夹相关的文件。

关于haskell - 在 Haskell 测试中访问测试资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30450329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com