Skip to content

Commit

Permalink
phipupt's update 10.04
Browse files Browse the repository at this point in the history
  • Loading branch information
phipupt authored Oct 4, 2024
1 parent a471a93 commit 82aed88
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions phipupt.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,4 +307,41 @@ Cairo 笔记:错误处理总结
- 使用模式匹配或`?`运算符处理`Result`
- `panic`用于处理不可恢复的错误情况


### 2024.10.04

Cairo 笔记:测试

Cairo提供了全面的测试工具,可以帮助开发者编写可靠的代码:

1. 测试的重要性:测试可以确保代码按预期工作,即使在进行更改时也能保持功能。

2. 测试函数的结构:
- 使用#[test]属性标记测试函数
- 通常包含设置、运行被测代码、断言结果三个步骤

3. 断言宏:
- assert!用于布尔条件
- assert_eq!和assert_ne!用于相等性检查
- assert_lt!, assert_le!, assert_gt!, assert_ge!用于比较

4. should_panic属性:用于测试代码是否按预期触发panic

5. 过滤和忽略测试:
- 可以运行单个测试或过滤测试
- 使用#[ignore]属性忽略某些测试

6. 测试组织:
- 单元测试:测试单个模块,可以测试私有函数
- 集成测试:测试多个模块的交互,在tests目录下

7. 特殊功能:
- 可以限制测试的gas使用
- 可以测试递归函数和循环
- 可以基准测试特定操作的gas使用

8. 测试私有函数:Cairo允许直接测试私有函数

9. 集成测试的组织:可以使用子模块来组织集成测试

<!-- Content_END -->

0 comments on commit 82aed88

Please sign in to comment.