mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-24 20:00:37 +00:00
docs: 批量博文
This commit is contained in:
29
Chapter1 - iOS/1.75.md
Normal file
29
Chapter1 - iOS/1.75.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 如何写好测试
|
||||
|
||||
> 软件测试的功能非常重要,现在结合过往经验谈谈如何做软件测试
|
||||
|
||||
- 每个类具有什么属性、具有什么方法都是确定的,所以拿 Objective-C 举例子,`.h` 中会有公有的属性以及方法,`.m` 中一般是私有属性和私有方法、公有方法。类的行为设计为方法,写代码之前我们一般需要做到心中有数,一个功能需要几个类、每个类的属性和方法分别是什么,需要暴露什么属性和接口。**UML图** 不是必须要画,但是需要胸有成竹。针对一个类在测试的时候 `.m` 文件中的私有方法没有办法在 Unit Test 类中访问,一般可以将需要测试的类增加分类。在分类的 `.h` 文件中将方法进行声明。在测试的 Uint Test 中引入分类头文件。下面举例子
|
||||
|
||||
```Objective-C
|
||||
// Person.h
|
||||
|
||||
- (void)eat;
|
||||
|
||||
// Person.m
|
||||
|
||||
- (void)eat
|
||||
{
|
||||
NSLog(@"eat");
|
||||
}
|
||||
|
||||
- (vood)sleep
|
||||
{
|
||||
NSLog(@"sleep");
|
||||
}
|
||||
|
||||
// Person+UnitTestHelper.h
|
||||
|
||||
- (void)sleep;
|
||||
```
|
||||
|
||||
另一种思路是没必要针对每个类的私有方法或者每个方法进行测试,因为等全部功能做完后针对每个类的接口测试,一般会覆盖据大多数的方法。等测试完看如果方法未被覆盖,则针对性的补充 Unit Test
|
||||
Reference in New Issue
Block a user