当前位置: 首页 > 知识库问答 >
问题:

Nginx自定义模块的单元测试

申屠英韶
2023-03-14

我想找到一种方法对我的定制nginx模块进行单元测试,但失败了。有人能提供一些建议吗?我曾经找到过Test::Nginx框架,但它可以作为系统测试。有人告诉我,我可以使用ngx_lua_模块通过FFI的方式在nginx模块中公开C函数。有人知道怎么做吗?

共有1个答案

仰雅昶
2023-03-14

您可以将该自定义模块编译为库,然后使用支持它的任何可用语言(例如带有C类型的Python或直接在C中)使用FFI加载函数,方法是链接到该新库,然后使用其符号(例如函数)来断言某些行为/返回值。

 类似资料:
  • 需要 10.2.0+ 您可以在*.vue文件中定义自定义语言块。 自定义块的内容将由在vue-loader'选项的loaders对象中指定的加载器处理,然后由组件模块require。 配置类似于[先进的Loader配置](../ configurations / advanced.md)中描述的配置,除了匹配使用标记名称而不是lang`属性。 如果找到一个自定义块的匹配加载器,它将被处理; 否则将

  • 主要内容:自定义模块编写说明文档到目前为止,读者已经掌握了导入 Python 标准库并使用其成员(主要是函数)的方法,接下来要解决的问题是,怎样自定义一个模块呢? 前面章节中讲过,Python 模块就是 Python 程序,换句话说,只要是 Python 程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在 demo.py 文件中): 可以看到,我们在 demo.py 文件中放置了变量(name 和 add)、函数(

  • nginx自带了两个日期时间变量: $time_local $time_iso8601 如果不希望修改操作系统的时区设置,而想改变nginx日志中的日期时间格式,怎么做呢? 比如,日志输出时间格式: 希望的输出格式:(注意,除了日期格式不同,时间数值也变化了) 另外,nginx日志用于tcp转发,即nginx配置的下面位置:

  • 我试图将单元测试框架(JEST)添加到用AMD编写的遗留JavaScript代码库中。当需要添加模块时,NodeJs会触发一个错误。 以下是JavaScript AMD: 以下是测试文件: 以下是错误: 测试套件无法运行 无法将模块分配给与当前文件不同的id● 测试套件无法运行

  • 我正在尝试创建一个Junit测试用例,用于测试批处理作业的单个步骤,而批处理作业又有一个自定义的,并将数据写入平面文件。我无法模拟可以注入处理器以写入平面文件的数据。请帮忙。 我按照以下链接中的步骤创建了一个测试用例来启动一个单独的步骤: https://docs.spring.io/spring-batch/trunk/reference/html/testing.html 由于我的reader

  • 问题内容: 我已Spring Boot启用基本身份验证的应用程序。从数据库消耗。为了进行单元测试,我想对其进行模拟,以便从其他地方使用数据。 我该怎么做? 我的问题不是如何模拟自身,而是如何模拟使用它来通过基本身份验证测试Controller的方式。 以下是我的SpringSecurity配置: 总之,我怎么能嘲笑UserServiceDetails到SpringSecurity配置,所以我能单元