4
我正在尝试编写测试驱动的Javascript。我知道,测试每个功能至关重要。但是我遇到了一个绊脚石,因为我写的插件需要有一些私人功能。我无法窥视他们如何运作。如果我想保持我的代码测试良好而不改变它的结构,我需要做什么? (我行与暴露一些API,虽然在一定限度内。)我应该测试一个Javascript插件的私有函数吗?
我使用兴农,QUnit和巴甫洛夫。
我正在尝试编写测试驱动的Javascript。我知道,测试每个功能至关重要。但是我遇到了一个绊脚石,因为我写的插件需要有一些私人功能。我无法窥视他们如何运作。如果我想保持我的代码测试良好而不改变它的结构,我需要做什么? (我行与暴露一些API,虽然在一定限度内。)我应该测试一个Javascript插件的私有函数吗?
我使用兴农,QUnit和巴甫洛夫。
如果您在做测试驱动开发(如标签所示),每行产品代码首先通过失败的测试用例进行验证。
换句话说,您的生产代码的每一行的存在都被隐式测试,因为没有它,某些测试必然失败。这就是说,你可以安全地假设私有函数/ lambda/closure已经从TDD的定义中进行了测试。
如果你有一个私人功能,你想知道如何测试它,这意味着你没有在第一个地方做TDD - 现在你有一个问题。
总结起来 - 在测试之前从来不写产品代码。如果遵循这个规则,每行代码都会被测试,不管它有多深。
有人在我意识到它再次如此真实之前不得不说出来。谢谢。 – picardo
@picardo - 这不回答如何测试_private_函数的核心问题。通过建议定义测试后缀,皮卡尔多提出了一个概念错误。但这不是问题的核心,这是令人失望的,因为为此得到真正的答案是很好的。 – jlarson