gpt4 book ai didi

linux - 检测代码是否读取了指定的输入文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:56 24 4
gpt4 key购买 nike

我正在编写一些自动化测试来测试代码并向程序员提供反馈。

需求之一是检测代码是否成功读取了指定的输入文件。如果不是 - 我们需要相应地向用户提供反馈。一种检测方法是 atime 时间戳,但由于我们的服务器驱动器安装了 relatime 选项 - 我们不会为每个文件获取 atime 更新读。更改此选项以记录每个 atime 是不可行的,因为它会显着减慢我们的 I/O 操作。

是否有任何其他方法可以用来检测给定代码是否确实读取了指定的输入文件?

最佳答案

这是一个疯狂的想法:在某个时候拦截读取调用。一种可能的方法或多或少是这样的:

  1. 程序通过抽象进行所有读取。例如,MyFileUtils.read(filename)(自定义)而不是 File.read(filename)(stdlib)。
  2. 在正常操作期间,MyFileUtils 只是将工作委托(delegate)给 File(或您使用的任何系统内置库/调用)。
  3. 但在测试中,MyFileUtils 被替换为一个特殊的测试版本,该版本与委托(delegate)一起还向框架报告使用情况。

请注意,在某些环境/语言中,可能会直接将代码注入(inject) File 并且不需要抽象。

关于linux - 检测代码是否读取了指定的输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39447661/

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