添加测试说明

master
Coet 6 years ago
parent
commit
0fdb60e2e5
1 changed files with 41 additions and 0 deletions
  1. +41
    -0
      fastNLP测试说明.md

+ 41
- 0
fastNLP测试说明.md

@@ -0,0 +1,41 @@
测试框架: pytest

持续集成服务: travis ci

代码覆盖率计算: codecov

### 什么是测试:
1. 确保程序正确运行的代码,能够发现主要功能故障的代码,体现软件的自检能力。
2. 单元测试:对一个独立功能单元的测试,主要指针对类和函数的测试。

### 怎样测试:

1. 安装pytest。在Python3.6环境下 pip install pytest 或者 conda install pytest。通过pytest --version 确认该pytest对应Python 3.6。

2. 原理:在任意文件目录命令行运行pytest, 会自动寻找所有文件名以test为前缀或后缀的文件。在每个这样的文件中,自动执行以test_开头的函数,函数体内可以通过Assert等语句检查运行结果。(参考资料:https://docs.pytest.org/en/latest/getting-started.html# 据观察,pytest也能找到unittest的测试,unittest是另一套测试框架。)

3. 测试的过程是:
- 人为构造测试对象和正确答案(有时测试对象不需构造)
- 将待测试函数作用于该测试对象,得到输出结果
- 比较输出结果和正确答案

### 例子
```
class Foo(object):
def __init__(self, val):
self.val = val

def __eq__(self, other):
return self.val == other.val

def test_compare():
f1 = Foo(1)
f2 = Foo(2)
assert f1 == f2
```
更多测试例子,参考https://docs.pytest.org/en/latest/assert.html#assert


### 参考资料
- pytest入门: https://docs.pytest.org/en/latest/getting-started.html#
- 关于codecov: https://agostini.tech/2017/07/16/code-coverage-with-codecov/

Loading…
Cancel
Save