【问题标题】:How do I know JavaScript return types automatically for non-primitives/user-defined types and promises?我如何知道 JavaScript 自动返回非原始/用户定义类型和承诺的类型?
【发布时间】:2019-11-20 09:55:11
【问题描述】:

我正在使用一个 SDK,我想查看其 API 文档中显示的所有命名空间,并验证所有函数是否返回正确类型的对象,或者该函数是否返回一个承诺。但是,手动尝试的功能太多了。

我遇到了ES6 Iterate over class methods,这可能适用于不需要输入变量的函数,但我想尝试的 API 中的许多函数也需要输入。似乎使用 Python 之类的东西在外部传递 .js 文件处理它可能是一个好主意,但我还没有找到解决方案。

总体而言,我希望能够将 API 文档中的所有预期返回类型与各个函数的实际返回类型进行比较,并将差异放在 Excel 表上以供以后使用。

【问题讨论】:

  • 您使用的是什么类型的系统?
  • 你不能检查函数返回类型,作为它的动态语言,你需要像TypeScript这样的类型化语言
  • 感谢您的回复@MedetTleukabiluly。我对整个过程很陌生,所以我不确定正在使用什么类型的系统。由于无法检查函数返回类型,因此我将按照以下答案中的建议编写单元测试。再次,非常感谢:)

标签: javascript types automation user-defined-data-types


【解决方案1】:

您应该尝试的第一种方法是查看是否有 SDK/API 文档,您可以在其中阅读并查看预期的返回值是什么。由于它是一个 JavaSvript api,因此您有点需要,或者需要自己阅读代码,以了解所有可能的返回值。
如果代码本身使用 JSDocs 标记记录,您可以检查它们被定义为返回的内容,这是大多数 IDE 支持在编码期间向您显示的内容。

JavaScript 是一种动态类型语言,即,一个函数基本上可以返回任何内容。因此,了解您应该期待什么的最好方法是检查文档!

【讨论】:

  • 刚刚重新阅读问题并看到有文档。我最初只是希望他们在正确的地方,如果错误,提交错误报告。
  • 您好,Jite,感谢您的回复。 SDK 确实有文档,我的任务是从文档中查找预期类型的​​不一致以及代码实际返回的内容。你知道有没有办法做到这一点?
  • 那么,我们基本上可以说您是在对 SDK 进行 QA 测试?是否编写了任何单元测试?如果是这样,我会说运行测试应该给你足够的,如果没有,写一些吧! :)
  • 我想这是最好的表达方式。我想我将不得不编写单元测试,所以我会做到这一点。无论如何谢谢:)
猜你喜欢
  • 1970-01-01
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 2019-05-17
  • 2016-01-21
  • 2020-02-11
相关资源
最近更新 更多