这些测试的过滤,或是对返回值的二重判断,
可以让测试过程更精准,测试结果更可控,
并可以更高层的应用测试脚本来保持批量化执行。

import pytest import tasks from tasks import Task @pytest.fixture(autouse=True) def initialized_tasks_db(tmpdir): tasks.start_tasks_db(str(tmpdir), 'tiny') yield tasks.stop_tasks_db() @pytest.mark.skip(reason="misunderstood the API") def test_unique_id_1(): id_1 = tasks.unique_id() id_2 = tasks.unique_id() assert id_1 != id_2 def test_unique_id_2(): ids = list() ids.append(tasks.add(Task('one'))) ids.append(tasks.add(Task('two'))) ids.append(tasks.add(Task('three'))) uid = tasks.unique_id() assert uid not in ids @pytest.mark.skipif(tasks.__version__ < '0.2.0', reason="not supported until version 0.2.0") def test_unique_id_3(): id_1 = tasks.unique_id() id_2 = tasks.unique_id() assert id_1 != id_2 @pytest.mark.xfail(tasks.__version__ < '0.2.0', reason="not supported until version 0.2.0") def test_unique_id_4(): id_1 = tasks.unique_id() id_2 = tasks.unique_id() assert id_1 != id_2 @pytest.mark.xfail() def test_unique_id_is_a_duck(): uid = tasks.unique_id() assert uid == "a duck" @pytest.mark.xfail() def test_unique_id_not_a_duck(): uid = tasks.unique_id() assert uid != "a duck"

本文介绍了一种通过增强测试脚本的过滤机制及返回值判断来提高软件测试精度的方法,并提供了具体的测试案例,如唯一ID的生成测试等。
663

被折叠的 条评论
为什么被折叠?



