Haskell IO 测试

2023-11-23

我一直试图弄清楚 Haskell 中是否已经有一种可接受的测试文件 io 操作的方法,但我还没有找到任何对我想做的事情有用的信息。

我正在编写一个执行各种文件系统操作的小型库(递归遍历目录并返回所有文件的列表;同步多个目录,以便每个目录包含使用索引节点作为相等性测试和硬链接的相同文件......)我想确保它们确实有效,但我能想到的测试它们的唯一方法是创建一个具有已知结构的临时目录,并将在此临时目录上执行的函数的结果与已知结果进行比较。问题是,我希望获得尽可能多的测试覆盖率,同时仍然主要是自动化的:我不想手动创建目录结构。

我已经搜索了 google 和 hackage,但是我在 hackage 上看到的软件包没有使用任何测试——也许我只是选择了错误的包——而且我在 google 上找到的任何东西都不处理 IO 测试。

任何帮助,将不胜感激

谢谢,詹姆斯


也许你可以找到一种方法来制作this为你工作。

EDIT:

我在 hackage 上看到的软件包没有使用任何测试

我已经发现单元测试框架用于 Hackage 上的 Haskell。包括这个框架,也许您可​​以使用断言来验证您需要的文件是否存在于您想要的目录中,并且它们符合其预期目的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haskell IO 测试 的相关文章

随机推荐

  • 如何在Arduino上将数据写入文本文件

    我不断收到一些位置数据 目前正在将其打印到序列中 假设我有字符串 5 并希望将其打印到文本文件 myTextFile 我需要做什么才能实现此目的 需要明确的是 文本文件将保存在我的计算机上 而不是 Arduino 上的 SD 卡上 另外 在
  • 为什么 Glassfish 管理控制台这么慢?

    我正在运行 GlassFish Server 开源版 3 0 1 内部版本 22 在我的开发环境 Mac OSX 4 核和 8GB RAM 和生产环境 Linux 2 核 4GB 中 控制台的启动速度都非常慢 机器基本上闲置 玻璃鱼在做什么
  • 使用 Tkinter 将一个按钮绑定到两个事件

    我刚刚开始编程 正在制作一个井字游戏程序 在我的程序中 我有一个显示功能 它可以更改并确保输入的内容有效 还有一个获胜检查器 有没有办法可以将这两个功能绑定到回车键 就像是 RowEnt bind
  • 在 C# 的 foreach 循环中更新结构

    我有这个代码 C using System Collections Generic namespace ConsoleApplication1 public struct Thing public string Name class Pro
  • 自动将代码从 Gitlab 部署到 AWS EC2 实例

    我们正在构建一个正在使用的应用程序GitLab存储库 手动将代码部署到测试服务器亚马逊 AWS EC2 实例很乏味 我计划自动化部署过程 这样当我们提交代码时 它应该反映在测试实例中 据我所知 我们可以使用AWS代码部署从中获取代码的服务G
  • 可用于 Rails 应用程序其余部分的 CoffeeScript/JavaScript 类和方法集

    我正在使用 Rails 3 2 9 当我将 CoffeeScript 代码添加到 js coffee文件在 app assets javascripts目录中 我在所有网页中都得到了生成的 JavaScript 问题是所有 JavaScri
  • 取消异步网络请求?

    我正在使用适用于 Windows Phone 的异步 CTP 库 有谁知道如何取消待处理的网络请求 Request HttpWebRequest WebRequest Create url Request Credentials new N
  • django Rest框架序列化字典而不创建模型

    我的数据是这样的 我想序列化它们而不为它们创建模型 form 1 count 1 form 2 count 3 序列化到 form my form name 1 count 1 form my form name 2 count 3 我想用
  • 非阻塞获取字符

    平台 Linux 3 2 0 x86 Debian 7 编译器 GCC 4 7 2 Debian 4 7 2 5 我正在编写一个函数 如果标准输入中已存在字符 则从标准输入读取单个字符 如果 stdin 为空 则该函数将不执行任何操作并返回
  • 如何使用 JPA/Hibernate 设置复合主键的列顺序

    我在组合主键中的列排序时遇到问题 我有一个包含以下内容的表 Embeddable public class MessageInfo implements Serializable private byte loc private long
  • Django 脆皮表单、BaseGenericInlineFormSet 和allow_delete

    我在使用 django crispy forms 时遇到了一个问题 我无法得到答案 我有一个相当复杂的表单布局 到目前为止 一切都与 cripy forms 一起工作得非常好 表单的一部分使用通用内联表单集 这也有效 但我的问题是 我无法弄
  • 如何更改TabControl中选定选项卡的颜色?

    我正在实施一个TabControl用于 WPF 中的对话框 所选选项卡 鼠标按下 的颜色默认为白色 我想将所选选项卡的颜色更改为悬停的颜色 当我将鼠标悬停在选项卡上时 选项卡的颜色更改为 Office blue gradient 这就是我想
  • 当行包含特定文本时计算行数

    可能是一个简单的问题 但我找不到简单的答案 我们以数据框 df1 中的以下列 Status 为例 Status Planned Unplanned Missing Corrected 我想计算单元格包含 计划 和 缺失 时的行数 我尝试了以
  • 在谷歌地图反向地理编码中获取明确的城市名称

    使用 Google 地图地理编码 API 我能够获取特定坐标的格式化地址 为了获得确切的城市名称 我正在执行以下操作 ajax url http maps googleapis com maps api geocode json latln
  • 在 PHP 中模拟 LIKE

    有没有办法用相同的语法在PHP中模拟SQL的LIKE运算符 and 通配符和泛型 escape转义字符 这样就有 value LIKE string ESCAPE escape 你可以有一个函数 在不使用数据库的情况下返回 PHP 评估吗
  • 如何在Python中获取/设置逻辑目录路径

    在 python 中 是否可以获取或设置逻辑目录 而不是绝对目录 例如 如果我有 real path to dir 我有 linked path to dir 链接到同一目录 使用 os getcwd 和 os chdir 将始终使用绝对路
  • 如何在下载真实图像之前显示占位符图像?

    这个想法是在下载真正的高分辨率图像之前显示图像的低分辨率版本 最好使用 img 标签 img 低分辨率图像首先可见 下载后将替换为高分辨率图像 如何才能做到这一点 是否可以编辑 img src 属性 或者应该创建其他内容 例如带背景的包装
  • 分析 C++ 多线程应用程序

    您是否使用过诸如 Intel Vtune 分析器之类的分析工具 您对 Linux 和 Windows 上的 C 多线程应用程序有何建议 我主要对缓存未命中 内存使用 内存泄漏和 CPU 使用感兴趣 我使用 valgrind 仅在 UNIX
  • angular-i18n Angular 6 国际化:如何处理变量

    我已经在这里阅读了整个文档 https angular io guide i18n 我无法弄清楚我应该如何处理这种性质的 html 标签 div class title text currentPage div 或者这样的 div clas
  • Haskell IO 测试

    我一直试图弄清楚 Haskell 中是否已经有一种可接受的测试文件 io 操作的方法 但我还没有找到任何对我想做的事情有用的信息 我正在编写一个执行各种文件系统操作的小型库 递归遍历目录并返回所有文件的列表 同步多个目录 以便每个目录包含使