真实操作案例软件开发与编程

编写单元测试:Tokeny 实操案例

阅读折扣函数并编写有意义的 node:test 用例,覆盖正常、边界与异常输入,执行后保留报告。

作者:Tokeny 团队 · Windows · Tokeny 1.7.8 · gpt-6-sol

准备这次任务的输入

在 Tokeny 中新建工作空间,将下载的样例解压到工作空间,选择支持工具调用的模型。本例使用合成演示数据或文中列出的公开资料。

  • discount.mjs
下载输入样例

把任务交给 Tokeny

阅读折扣函数并编写有意义的 node:test 用例,覆盖正常、边界与异常输入,执行后保留报告。

交付文件:discount.test.mjs、test-results.txt。
验收要点:
- 覆盖数量 0、折扣 0/1、非有限数与负数
- 实际 node --test 通过
这是使用合成演示输入或指定公开资料的真实操作案例。请先读取工作空间输入,再实际生成文件并自检。所有写入、脚本与临时服务限于当前工作空间;临时服务只监听 127.0.0.1,执行后关闭;不触达外部收件人、不发布、不付款、不更改系统设置,不调用子智能体。需要公开资料时可读取给定 URL。只启用完成任务必需的工具。另写 report.md(中文)和 report.en.md(英文),简洁、完整,包含输入、处理步骤、真实结果、检查方式和局限;失败或未验证部分如实记录,不能宣称成功。最终回复用中文列出产物、关键结果与待核实项。

本次使用独立演示工作空间。复现时,请根据自己的文件与权限设置检查操作,确认后继续。

实际执行过程

任务从 Tokeny 输入框提交,由在线模型读取资料并调用工具实际执行。本例核对本地演示任务与实际生成的文件,结果和检查方法见下文。

Tokeny 1.7.8 中「编写单元测试」的真实执行会话与生成文件。点击可查看原图。
Tokeny 1.7.8 中「编写单元测试」的真实执行会话与生成文件。点击可查看原图。

产物、结果与复核

输入

  • 被测文件:discount.mjs
  • 被测函数:total(price, count, discount = 0)
  • 已读取实现:要求三个参数为有限数;price 和 count 不得为负;count 必须为整数;discount 必须在 [0, 1] 内。非法输入抛出 RangeError,有效输入按两位小数四舍五入。

处理步骤

  1. 阅读 discount.mjs 和工作空间环境说明。
  2. 创建 discount.test.mjs,使用 Node 内置 node:test 与 node:assert/strict。
  3. 编写正常、边界和异常输入用例,覆盖数量 0、折扣 0/1、非有限数、负数及类型/整数性校验。
  4. 执行 node --test discount.test.mjs,将完整 TAP 输出保存到 test-results.txt。

真实结果

  • 测试总数:10
  • 通过:10
  • 失败:0
  • 取消:0
  • 跳过:0
  • 测试进程成功退出,耗时约 213.5 ms。

检查方式

  • 通过 test-results.txt 核对 TAP 汇总:# tests 10、# pass 10、# fail 0。
  • 通过逐项读取 discount.test.mjs 核对覆盖范围与断言类型。

局限

  • 这是独立演示目录中的函数级测试,没有集成数据库、网络或用户界面流程。
  • 未改变被测实现;测试结论仅说明当前输入契约下的这些示例和异常场景通过。
  • 未额外验证极端超大数导致的数值精度问题,也未覆盖对象、数组等所有可能的非数字输入类型。

下载产物,自己核对

压缩包保存本次执行生成的文件。替换成自己的资料后,可以按下面的检查点验收。

  • 覆盖数量 0、折扣 0/1、非有限数与负数
  • 实际 node --test 通过
discount.test.mjs · 2 KBtest-results.txt · 2 KBreport.md · 1 KBreport.en.md · 2 KB
下载本次实际产物

继续探索同类场景