近日学校软件测试实验课……任务需要做一个 func 函数做类似这样的工作(不使用库函数):
datetime.date(year,month,day)+datetime.timedelta(days =2)
函数实现问题不大,用元组输入输出,错误输入(月份,日期越界什么的)抛出异常,在网上了解到 unittest 这个工具,网上的教程以及官方文档中提及 testcase 都是直接把用例写在代码里,不知有没有从外部文件导入测试用例的方法?
1
freshmanc OP 啊…写的时候突然想到异常怎么做,就改了正文然而没改标题…
|
2
xiechengen 2017-04-28 00:55:21 +08:00
有的,还可以写在 xml file 里方便后期更改
|
3
gefranks 2017-04-28 00:58:44 +08:00
我们有个很老的框架是用 excel 组织的用例.用例都是类似函数一样的。然后用 java 里面的反射来执行真正的函数
|
4
awkun 2017-04-28 12:48:15 +08:00
doctest 也可以独立文件的~
x.py ``` def add(a, b): return a + b ``` case.txt ``` >>> from x import add >>> add(1, 2) 3 >>> add(3, 97) 100 >>> add(3, 3) != 5 True ``` ``` $ python -m doctest -v case.txt Trying: from x import add Expecting nothing ok Trying: add(1, 2) Expecting: 3 ok Trying: add(3, 97) Expecting: 100 ok Trying: add(3, 3) != 5 Expecting: True ok 1 items passed all tests: 4 tests in case.txt 4 tests in 1 items. 4 passed and 0 failed. Test passed. ``` https://docs.python.org/2/library/doctest.html |
5
awkun 2017-04-28 12:55:03 +08:00
|
6
freshmanc OP @xiechengen 啊,确实用 xml 之类的比 csv 方便很多
@gefranks 不懂 Java,不过提供了一个好思路 @awkun 谢谢你的代码…如果从文件中获取数据例如 2016 2 30 2017 3 26 当作测试数据,不知道是否可行? |