gpt4 book ai didi

javascript - 单元测试 Ajax 调用

转载 作者:行者123 更新时间:2023-12-03 02:24:38 25 4
gpt4 key购买 nike

我需要一些关于单元测试的建议。我正在使用 Mocha 和 sinon。

我有一个处理所有ajax请求的httpService模块(由我编写)。正在测试的文件需要httpService模块。

我正在对一个函数进行单元测试,该函数调用同一文件中的私有(private)函数,该函数又调用 httpService.get()

进行单元测试的最佳方法是什么?

我提出的选项:

1) 我可以使用 sinon FakeXMLHttpRequest 来伪造 Ajax 响应。但是,因为 ajax 请求是从 httpService 模块发出的,所以我现在正在测试 httpService 模块的功能。这不是集成测试吗?

2) 我可以要求将 httpService 模块放入我的单元测试文件中并 stub httpService.get() 函数。即使只是 stub 函数,要求将模块放入我的单元测试中是否可以接受?

正在测试的文件中没有暴露任何其他内容。

还有其他选择吗?

提前致谢!

最佳答案

你是对的,你的选项 1 太过分了。您的单元测试应仅限于测试当前的功能。

选项 2 即将到来...我需要 httpService 模块,但随后创建一个 sinon spy 来监视 httpService.get 函数。

sinon.spy(对象, "方法")

这样您就可以简单地检查您的方法是否导致对 http 服务的调用。

您应该在这里阅读有关 spy 的文档...

Sinon spies

关于javascript - 单元测试 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49005614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com