【发布时间】:2015-11-02 13:39:51
【问题描述】:
我使用 Mocha/Chai 来测试 JavaScript 前端代码,现在我们切换到 TypeScript。我有几个要测试的功能。但它们不应该是可出口的。我可以在不添加export 的情况下访问这些函数并对其进行测试吗?
【问题讨论】:
-
我认为这是一般的编程观察;单元测试不应该专注于私有方法。如果您有某些公共方法的使用未涵盖的私有方法,那么只需摆脱它们即可。如果它们被使用公共方法覆盖,请使用这些公共方法。 (简单的观点,但就是这样)
-
在切换到 TypeScript 之前你是如何处理这些问题的?
-
@Katana314 我想对非导出函数做一些基准测试。我怎样才能做到这一点?这与测试理念无关。
-
@Katana314 据我所知,这种观点有点过时了。有完全有效的用于测试内部方法的用例。多年来,我遇到了许多私有函数的例子,与它们的更高级别的公共接口相比,它们甚至允许进行更有意义的单元测试。单元测试的理想粒度并不总是必须与理想的公共接口相一致。另请注意,现代语言(例如 Rust)通常采用甚至鼓励私人测试的设计。
标签: javascript typescript mocha.js chai