根据增加的功能更改单元测试

时间:2014-02-19 11:07:52

标签: python unit-testing

我不确定我使用的语言是否有所不同,但是对于记录来说它是python(2.7.3)。

我最近尝试将功能添加到我在GitHub上分叉的项目中。具体来说,我将基础http请求库从httplib2更改为请求,以便我可以轻松地向请求添加代理。结果函数调用略有改变(传递更多变量并且顺序略有不同),因此模拟单元测试调用失败。解决这个问题的最佳方法是什么?是否可以跳入并重写单元测试,以便它们通过新的函数调用?直觉上,这似乎在某种程度上破坏了单元测试的目的。

1 个答案:

答案 0 :(得分:0)

单元测试的目的是验证需求的实现。与任何其他软件一样,您必须区分单元测试的功能,测试需求(粗略地说它的设计)以及如何实现。除非要求本身发生变化,否则不应更改单元测试的设计。但是,可能会发生另一个要求的变化影响其实施(因为副作用,界面变化等)。然后根据您的流程,您可以审核新的实施,以确保更改不会影响测试的性质,并且仍然满足原始要求。