unit-testing - 我怎样才能测试变化的东西?

标签 unit-testing testing tdd

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

然而,这在不断变化。我应该如何为其添加测试?也许向 API 添加一些东西,在给定一些参数时总是返回相同的东西?

谢谢!

最佳答案

您正在触及单元测试的一个非常重要的方面:它迫使您编写“好的”代码。如果您希望您的代码在您描述的那种情况下能够成功测试,您必须使用像inversion of control 这样的良好实践。和 separation of concerns .

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

(我会举个例子,但你没有指定你使用的是哪种语言)

关于unit-testing - 我怎样才能测试变化的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8071323/

相关文章:

c++ - 在 vs 2010 中运行 c++ 单元测试时出现异常

mysql - 为 MySQL 自动化 Cucumber 测试场景

java - 用于 TDD 的假 android 库

asp.net-mvc - 使用 MvcContrib TestHelper 断言不应映射入站路由

java - 模拟空对象而不传递它们

wcf - 如何在 WF 工作流中模拟 Web 服务调用?

c# - 为什么我的字符串在凯撒密码期间发生变化?

performance - 如何参数化json文件中的值 - loadrunner

cocoa-touch - 使用 OCMock 模拟 NSNotificationCenter 有时会失败,除非添加延迟

javascript - Jest - 为特定测试模拟模块中的常量属性