我该如何测试变化的东西?

时间:2011-11-09 20:38:08

标签: unit-testing testing tdd

我正在测试一个脚本,该脚本在给定一些参数的情况下,将数据从我们的API复制到CDN上的某个位置。

然而,这种情况不断变化。我该如何为它添加测试?或许在API中添加一些东西,在给定一些参数时总会返回相同的东西?

谢谢!

3 个答案:

答案 0 :(得分:6)

您正在触及单元测试的一个非常重要的方面:它会强制您编写“好”代码。如果您希望代码在您所描述的案例中成功测试,则 使用inversion of controlseparation of concerns等良好做法。

换句话说,要编写成功的测试,您需要来抽象出您的依赖项,最好是接口。然后,您可以通过注入该接口的stubmocked实现来运行测试,该实现具有可重现且可控的输出。通过这样做,您只测试被测单元的逻辑(行为或状态,取决于品味),而不是依赖性。它迫使人们关注你。

(我会举例,但你没有说明你正在使用哪种语言)

答案 1 :(得分:1)

我不是想成为一个聪明的人,但是,如果你没有明确的期望,那么在测试中你没有什么可以断言的。

测试应该存在的一切。如果你不关心输出的某些部分,只需测试它的存在。如果输出中存在某些内容的相关性,请测试它。

答案 2 :(得分:0)

你的答案已经开始了。要测试脚本,您需要一个测试框架,允许您将已知的输入状态提供给脚本,捕获输出,并检查输出是否正确。

目前尚不清楚“这个”(不断变化)的指称是什么。 CDN上的位置?如果是这样,您需要冻结该位置进行测试。