2

我对单元测试比较陌生,我正在尝试找出一种以有意义的方式测试 XHR 请求的方法。

1)请求将各种脚本和其他资源拉入页面,我想确保正在加载正确数量的资源,并且请求成功。

2)我应该对提供资源的服务使用实际请求吗?我在 sinonjs.org 上查看了 fakeserver 和 fakexhr 请求,但我真的不明白它们如何提供有意义的测试。

3)我正在测试现有的代码,我意识到这是毫无意义的,但这是我需要做的。话虽如此,某些方法中有很多代码可能会分解为各种测试。我应该分解现有代码并为我的解释期望创建测试吗?或者只是为实际存在的内容编写测试?....如果这有任何意义。

谢谢,-约翰

4

1 回答 1

3

我发现使用 sinon fakeServer 返回各种测试响应来锻炼我的客户端功能很有用。您可以设置一系列测试,其中 fakeServer 响应返回可用于随后检查代码行为的数据。例如,假设您期望返回 10 个资源对象,您可以创建预装的 xml 或 json 来表示这些资源,然后检查您的代码是否已正确处理它们。在另一个测试中,当您只收到九个对象时,您的代码会做什么?

开始编写测试以覆盖现有代码。当这些测试通过时,开始将您的代码分解为更易于理解和有意义的单元。如果测试仍然通过,那就太好了,你只是重构了你的代码,并没有无意中破坏任何东西。此外,现在您可以更轻松地测试和理解更小的代码块。从这一点开始,您将永远不会回头 :-)

于 2012-08-21T06:35:07.200 回答