Orisumi

Foreground Submission

前台时段结束后才上传,异常退出后从最后一次确认恢复

为什么验证

前台状态 Observer 采用结束后提交,后端只应看到已结束的时段。程序异常退出时,进行中的时段要在下次启动时结束于最后一次确认,停机期间不计入时段。约定见 Foreground State · 提交。

前置条件

SDK 使用独立的 SQLite 文件,读数是模拟的。需要后端的行通过 WebApplicationFactory 启动 API,连接一个独立的测试数据库,见 Database。

操作与预期结果

操作预期结果
确认应用在前台并延长当前时段,然后发送后端读取这份 Observation 返回 404
结束当前时段,然后发送后端能读到观测内容和 Observation
延长到第 1 秒后重新打开 SQLite 文件,恢复两次遗留的时段结束于第 1 秒,开始时间不变,只结束一次
另一个程序实例打开同一个 SQLite 文件报错,原有的待发送版本保留
切换应用时,写入新时段前本地写入失败旧时段的结束和新时段一起回滚;之后结束的仍是原来的时段

测试实现

ForegroundSubmissionTests 验证本地恢复和事务回滚,ObserverSdkTests 中的前台上传测试验证上传。

执行结果

Case ID:foreground-submission

报告时间:

报告代码版本:d0ad859f366f8a9bd66443fc7a4fb2262bda1081

查看最新原报告

以下仅展示此 Case 在该报告中的执行结果。

  • TUnit 1.72.16.0
  • runnervmr9t6g
  • Ubuntu 26.04.1 LTS
  • .NET 10.0.14
  • 26 Oct 2026, 05:36:12 UTC
测试总数
3
通过
3
未成功
0
运行总耗时
未知

贡献者

页面历史