Golang 有 libfaketime 替代品吗?

2024-06-22

我想自动化一些测试,我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为。根据这个帖子 https://stackoverflow.com/questions/36024872/libfaketime-doesnt-work-with-golang/, libfaketime 不适用于 golang。有没有其他方法可以实现我想要用 libfaketime 做的事情?

以下是来自 github 的 libfaketime 功能的描述。

libfaketime 拦截程序用来检索的各种系统调用 当前日期和时间。然后它报告修改(伪造)的日期和时间(如 由您(用户)指定给这些程序。这意味着您可以修改 程序看到的系统时间而无需更改系统范围内的时间。


不,没有。

你需要使用类似的东西clockwork https://github.com/jonboulle/clockwork (see this https://godoc.org/?q=clock了解更多)并明确地在代码周围传递“时间”实现。


Update从 2021 年 3 月 1 日起,提供更新的选项列表:

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

Golang 有 libfaketime 替代品吗? 的相关文章

  • 指针和切片引用类型 - 接收器

    我认为一旦向我提出这个问题就会有点明显 但现在以下内容还没有点击 type Stack interface func stack Stack Push x interface stack append stack x 我有一个名为 Stac
  • Go 算术中处理浮点数精度?

    我对 Go 中精确减去 2 个浮点数的方法感兴趣 我尝试过使用math big图书馆 但我无法得到准确的结果 我用过big js https github com MikeMcl big jsJavascript 库解决了这个问题 Go 算
  • 内容类型与 MIME 类型

    有人可以向我解释 Content Type 和 MIME 类型之间有什么区别吗 我在网上找不到明确的答案 如果Content Type通常在浏览器内部使用 操作系统使用 MIME 类型吗 In Content Type text plain
  • 如何在 Docker 容器中持久保存 go 1.11 模块?

    我正在将 Go 1 10 应用程序迁移到 Go 1 11 这还包括从dep https golang github io dep to mod https github com golang go wiki Modules用于管理依赖关系
  • 单个 .msi Windows 软件包安装程序文件的最大大小是多少?

    我们正在对服务器进行一些上传测试 特别是接收 msi 软件包安装程序文件 目前 我可以使用有限的知识和我所拥有的 Visusl Studio 工具创建一个总大小为 2GB 的 msi 文件 但我想知道是否可以创建一个更大的文件 我的谷歌搜索
  • 如何避免 Google App Engine 标准环境中 Gorilla 会话的内存泄漏?

    我正在使用 Gorilla 在 Google App Engine 上启用会话变量 到目前为止 我只导入了 github com gorilla sessions 但 Gorilla 的页面显示 如果您不使用 gorilla mux 则需要
  • golang中的Reader接口和Read方法

    我正在关注 golang 之旅 我被要求 实现一个 rot13Reader 它实现 io Reader 并从 io Reader 读取 通过将 ROT13 替换密码应用于所有字母字符来修改流 我首先将方法实现到 rot13Reader ty
  • 如何将 json 字符串编组到 bson 文档以写入 MongoDB?

    我正在寻找的东西相当于文档 parse https api mongodb com java 3 2 org bson Document html parse java lang String 在golang中 这允许我直接从json创建b
  • 管道上的持久 execvp?

    我正在为我的操作系统课程 Posix C 做作业 构建一个迷你 shell 但我不知道如何解决以下问题 例如 我的迷你 shell 必须接受两个命令ls grep a 为此 我创建了一个尺寸为 2 的管道和一个子管道 子进程关闭所有它必须关
  • 如何在C中模拟套接字

    我有一个使用套接字的函数 我会模拟它 但我找不到如何做到这一点 有没有办法在 C 中模拟套接字 Thanks 大多数系统 库函数是弱符号 https en wikipedia org wiki Weak symbol 这意味着您可以创建自己
  • Android Studio Espresso 测试错误:空测试套件

    尝试在 Android Studio 中执行测试时 我不断遇到以下错误 测试运行失败 无法找到以下内容的检测信息 ComponentInfo test android support test runner AndroidJUnitRunn
  • Golang 使用 gomail.v2 实现多个收件人

    我通过 gomail v2 发送电子邮件的唯一方法是在 for 循环中对每封电子邮件使用 Send 函数 但我需要向其他电子邮件地址显示已发送相同的电子邮件 for recipient range os Args 3 mail SetAdd
  • 关联的标签参考

    Rails 为固定装置中的关联提供标签参考 如下所示 in pirates yml reginald name Reginald the Pirate monkey george in monkeys yml george name Geo
  • 在fixture hooks中使用用户代理进行浏览器检测

    我有一些测试只需要在移动浏览器中运行 目前我有一个客户端功能来检查用户代理 const checkMobile ClientFunction gt iPhone Android i test navigator userAgent 然后我在
  • 量角器:向下滚动

    我的页面上有一个按钮 当用户向下滚动时可见 因此 量角器测试给了我一个错误 UnknownError 未知错误 元素在点 94 188 处不可单击 我尝试使用 browser executeScript window scrollTo 0
  • 如何测试 AngularJS 指令

    我正在开发一个将使用 AngularJS 的 Rails 3 2 应用程序 我可以让 Angular 做我需要的事情 但我很难弄清楚如何测试我正在做的事情 我正在使用guard jasmine 使用 PhantomJS 运行 Jasmine
  • Android 日期选择器月份作为数字

    在 Android DatePicker 中 在某些操作系统中 月份显示为 Jan Feb Mar Dec 在其他操作系统中 月份显示为 1 2 3 12 有没有办法让它始终保持一致 以便它始终显示 1 2 3 12 作为月份 显示 1 2
  • JUnit:调用每个 @Test 方法之前的新实例。有什么好处?

    目前 我正在阅读 JUnit in action 一书 在这本书中 我找到了以下文字 JUnit 在调用每个测试类之前创建一个新的测试类实例 测试方法 这有助于提供测试方法和测试方法之间的独立性 避免测试代码中意外的副作用 因为每次测试 方
  • 玩笑 toEqual 不适用于异常匹配

    我是新来的jest所以我不确定是否是我的错 这是我的测试用例 it should throw error if wrong email or phone number is provided async gt await expect us
  • 在 TFS 上构建想要从 Node.js 测试项目复制可执行文件

    我使用 Node js 工具为量角器测试环境创建了一个 Node js 项目 以在 Team Foundation 服务器上测试 Web 应用程序 我可以在本地创建测试项目并使用调试器运行它 但是 TFS 上的构建不起作用 Log

随机推荐

  • 类型错误:“NoneType”对象不可调用,BeautifulSoup

    我遇到了一个奇怪的错误 我正在尝试做一些基本的解析 本质上 我正在以 x 格式收集数据 并希望以我可以使用的格式返回所有内容 我面临的直接问题是我的代码返回一个奇怪的错误 我已经浏览了这里针对同一问题的其他一些帖子 答案 但是脱离了上下文
  • 为什么当Fragment隐藏时,Fragment中的SurfaceView仍然可见?

    只是一个一般性问题 我有一个带有 SurfaceView 的片段 当我通过 FragmentManager 隐藏 Fragment 时 SurfaceView 仍然可见 我找到了一种解决方法 只需在片段隐藏 可见时将视图设置为不可见 消失
  • 如何更改 Google 日历嵌入事件颜色?

    我创建了一个谷歌日历并通过 PHP 的谷歌客户端库创建了事件 创建此项目时 我为事件设置了 colorId 粉色 但是当我在我的网站中嵌入 Google 日历时 事件仅显示蓝色 尽管我在我的 Google 日历中看到此事件有粉红色 这是我想
  • 我可以编写没有标头(重复函数声明)的 C++ 代码吗?

    在使用 C 编程时 有没有什么方法可以不必编写两次函数声明 头文件 并且仍然保留相同的编译可扩展性 调试清晰度和设计灵活性 Use Lzz http www lazycplusplus com 它需要一个文件并自动为您创建 h 和 cpp
  • AngularJS 复制到剪贴板

    有没有办法制作一个具有复制功能的复制按钮 该按钮将复制模态的所有内容 然后您可以将其粘贴到记事本中 我需要这个功能Controller 由于要复制的文本是动态的 这是我基于中的代码的简单函数剪贴板 https github com nico
  • a^2 和 a^2L 有区别吗?

    之间有区别吗a 2 and a 2L in R 速度差异 精确 到目前为止我还没有看到 只是想知道 2 是否被实现为 log exp 对 但 2L 被实现为乘法 如果a不只是一个向量吗 UPDATE 不 它不是重复的 我知道两者之间的区别2
  • 通过上下文操作栏获取 WebView 中选定的文本

    据了解 这是难的 https stackoverflow com questions 4892111 android webview javascript getselection获取 WebView 中选定的文本 因为 WebView 文
  • 如何使CMake将导入目标的库路径嵌入到可执行文件中

    我的 C 可执行文件依赖于我已显式导入的 boost 正则表达式 但是 在链接阶段 CMake 不使用 Wl rpath path to my boost lib将 rpath 嵌入到我的项目可执行文件中 我怎样才能做到这一点 它确实将 r
  • Maven - 如何验证声明的存储库中可用的依赖项?

    我刚刚编辑了
  • 启动 OSX 时未使用 teamcity 代理运行 bash

    我有一个 shell 脚本startup sh执行以下操作 创建 RAM 磁盘并启动 teamcity 代理 bin bash DISK usr bin hdiutil attach nobrowse nomount ram 1677721
  • 何时使用 FOUNDATION_EXPORT?

    我有点困惑 我们什么时候应该在 Objective C 中使用 FOUNDATION EXPORT 其目的是什么 谁能用通俗的语言解释一下 谢谢 我们什么时候应该使用FOUNDATION EXPORT在 Objective c 中 每当您在
  • 鼠标位置到等距图块(包括高度)

    努力将鼠标的位置转换为网格中图块的位置 当一切平坦时 数学看起来像这样 this position x Math floor pos y 240 24 pos x 320 48 this position y Math floor pos
  • iPhone以编程方式裁剪方形图像以显示为圆形

    我正在尝试使用 iPhone 上相机胶卷中的图像为自定义样式 UIButton 创建图像 该按钮具有圆形背景 并且实际上显示为圆形 现在我需要将图像放在也显示为圆形的按钮中间 如何将方形 UIImage 剪切为圆形并在圆形区域之外具有透明度
  • iPad 方向检查 UIView 类?

    我有一个UIView我添加到我的主类中的类UIViewController我需要在应用程序启动时检查设备 iPad 的方向 在viewDidLoad方法 然而 由于该类是一个UIView not UIViewController 我不能使用
  • 使用 multers3 node.js 将图像上传到 DigitalOcean Spaces 时出现 SignatureDoesNotMatch:null 错误

    Error code SignatureDoesNotMatch extendedRequestId undefined message null name SignatureDoesNotMatch region null Load de
  • NUnit辅助线程异常

    我正在测试启动辅助线程的代码 并且这个线程有时会抛出异常 我想编写一个测试 如果没有正确处理该异常 该测试就会失败 我已经准备好了该测试 我在 NUnit 中看到的是 LegacyImportWrapperTests Import Exce
  • React 漂亮的 DnD- 嵌套列表,但无需在父列表之间拖动

    我目前正在尝试使用 React Beautiful DnD 创建一个可拖动的容器对象列表 在这些对象中 我还构建了可拖动元素的子列表 我知道该库在技术上不支持嵌套列表 但我已经看到了许多解决方法 并且我相信我的用例比大多数用例更简单 因为我
  • 清除 PHP CLI 输出

    我正在尝试在我的 php CLI 应用程序上使用 实时 进度指示器 而不是输出为 1Done 2Done 3Done 我宁愿它清除并只显示最新结果 系统 命令 C CLS 不起作用 ob flush flush 或我发现的其他任何东西也没有
  • MFC - 显示对话框后立即执行代码(.NET 相当于 Form.Shown)

    我正在对 C MFC 项目进行一些小的更改 我是 NET 开发人员 因此 Windows 编程对我来说是新的 我需要在 CDialog 第一次完全显示 绘制 后立即启动一些方法 但仅一次 我怎样才能做到这一点 在 NET中我会处理表格所示
  • Golang 有 libfaketime 替代品吗?

    我想自动化一些测试 我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为 根据这个帖子 https stackoverflow com questions 36024872 libfaketime doesnt work wi