4

我正在尝试编写测试驱动的 Javascript。我知道,测试每个功能是至关重要的。但是我遇到了一个绊脚石,因为我正在编写的插件需要具有一些私有功能。我无法窥探它们的运作方式。如果我想保持我的代码经过良好测试而不过多地改变它的结构,我需要做什么?(我可以公开一些 API,但在限制范围内。)

我正在使用 sinon、QUnit 和 Pavlov。

4

1 回答 1

3

如果您正在进行测试驱动开发(如标签所建议的那样),每行生产代码首先通过失败的测试用例来证明。

换句话说,生产代码的每一行的存在都经过隐式测试,因为没有它,某些测试肯定会失败。话虽如此,您可以放心地假设私有函数/lambda/closure 已经根据 TDD 的定义进行了测试。

如果你有一个私有函数并且你想知道如何测试它,这意味着你一开始没有做 TDD - 现在你遇到了问题。

总而言之 - 永远不要在测试之前编写生产代码。如果你遵循这个规则,每一行代码都会被测试,不管它有多深。

于 2011-09-21T20:52:10.723 回答