docker - 'serenity-bdd run' 在 Docker 中给出'“路径”参数必须是字符串类型'错误
问题描述
我有一个在命令行上正常运行的 Serenity-JS 项目。我正在尝试将其打包到 Docker 容器中以在 Azure 管道中使用,这是我们在其他项目中使用的模型。
但是,当我通过 Docker 运行项目时,测试正确执行,但生成报告文档的步骤失败并出现一个相当简洁的错误:
[test:report] > serenity-bdd run
[test:report]
[test:report] I'm terribly sorry, but something didn't go according to plan:
[test:report] The "path" argument must be of type string. Received null
输出中没有其他内容,因此问题的根源尚不清楚。我什至不确定path
这是指哪个论点。我已经深入研究了 Serenity-JS Node 模块,但我没有看到明确的罪魁祸首,我也不明白为什么它可以通过命令行工作,但不能在 Docker 中工作。任何见解将不胜感激。谢谢!
解决方案
简短的修复
安装 Java 开发工具包 - JDK
快捷方式:
在带有 Chocolatey 的 Windows 上
巧克力安装jdk8
在 Unix 或 Max 上
安装jdk8
简单的方法:
阅读并遵循 Serenity BDD 安装指南。 https://serenity-bdd.github.io/theserenitybook/latest/first-steps.html
我尝试安装较新的版本openjdk
,例如 11 或 16,但这给了我在 Windows 上的问题。
原因:
serenity-js 无法启动 serenity-bdd java 模块,因为它找不到 Java。
推荐阅读
- python - Python 抓取可扩展表(BeautifulSoup)?
- reactjs - 带有 Lerna + React + Styled 组件的 SSR
- c# - 是基于 ObservableCollection 实现 DrawingVisual 的 MVVM WPF 方式吗
- matlab - 如何在MATLAB中制作二叉搜索树
- php - 为什么必须对 JSON 字符串执行 preg_replace,以避免 json_decode 出现 null?
- android - 数据无效。(13) 。AAPT2 。文件丢失
- python - 如何计算一年中每个月每个 ID 的日期数?
- python-3.x - Raspberry Pi 相机使用 python OpenCv 将视频流式传输到 Nvidia Xavier NX 丢失颜色信息
- c# - 在 XUnit 测试中,设置一个 MOCK 方法并将其转换为 ToListAsync()
- java - 如何使用 REGEX 找到交替的 1 和 0