-2

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

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_

if name == ' main ': nose.runmodule() 我走了那么远,我不知道我可以为这个函数测试什么。

4

2 回答 2

1

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

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

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

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

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

然后你可以编写第二个函数 testupdate_write(),让你的代码写入一个文件——然后验证它写入的内容是否正确。

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

 nosetests -sx testmycode.py

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

于 2012-04-04T09:59:38.747 回答
0

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

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

测试较小的代码片段很有帮助,因为与只测试整个代码相比,您可以以更多、更具体的方式测试每一段代码。

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

于 2012-04-04T11:05:15.820 回答