如何编写测试用例进行分配

时间:2012-04-04 09:36:30

标签: python testing

我的任务部分是为每个功能创建测试。这有点长,但我很困惑。我在这个功能下面放了一个链接,这样你就可以看到它的样子了 第一个代码非常长,因为。

def load_profiles(profiles_file, person_to_friends, person_to_networks):
    '''(file, dict of {str : list of strs}, dict of {str : list of strs}) -> NoneType
    Update person to friends and person to networks dictionaries to include
    the data in open file.'''

    # for updating person_to_friends dict
    update_p_to_f(profiles_file, person_to_friends)
    update_p_to_n(profiles_file, person_to_networks)

继承了整个代码:http://shrib.com/8EF4E8Z3,我通过mainblock对它进行了测试,它确实有效。 这是我们提供的用于转换它们的文本文件(profiles_file): http://shrib.com/zI61fmNP

如何通过鼻子运行测试用例,有哪些测试结果?或者我不够具体?

导入鼻子 导入a3_functions

def test_load_profiles _

如果名称 =='主要':     nose.runmodule() 我走了那么远,然后我不知道我能测试什么功能。

2 个答案:

答案 0 :(得分:1)

让我们假设您目前编写的代码位于名为“mycode”的模块中。

编写一个名为testmycode的新模块。 (即创建一个名为testmycode.py的python文件)

在那里,导入要测试的模块(mycode)

编写一个名为testupdate()的函数。

在该函数中,首先编写一个您期望有效的文本文件(带有file.write)。然后让update_p_to_f更新它。使用assert验证它是否符合您的预期。这是读取文本文件的测试。

然后你可以写一个名为testupdate_write()的第二个函数,让你的代码写入一个文件 - 然后验证它写的是正确的。

要运行测试,请使用(在命令行上)

 nosetests -sx testmycode.py

这将加载testmycode并运行它在那里以test开头的所有函数。

答案 1 :(得分:0)

您可能希望测试程序的整体输出是否正确,以及程序的各个部分是否正确。

  • @ j13r已经介绍了如何测试整个程序的整体正确性。
  • 你提到你有四个辅助函数。您可以单独为这些编写测试。

测试较小的代码段是有帮助的,因为与仅测试整个代码相比,您可以用更多,更具体的方式测试每个代码。

unittest模块是执行测试的框架。