2016-11-29 43 views
1

我正在使用nodejsreact作为兴趣来编写网络应用程序。
我有一个文件,我使用了一些实用程序功能,例如foo如何验证导入功能?

在某些其他文件中使用此函数后,我决定更改导出并将函数包装在对象中,如Util.foo

有一个文件,我忘记更改导入语句而不是函数,而我调用foo()而不是Util.foo()。

我无法在我的webpack构建中捕获它,甚至在我的单元测试中也没有发现它,只有在运行代码并执行相应的函数时才能使用它。

我的问题是,我怎样才能避免这样的未来错误?除了重构工具之外,还有其他工具可用于此事吗?

顺便说一下,我使用的是Atom IDE。

+0

Typescript可以帮助避免这些问题 –

回答

1

如果你的代码的这部分被完全覆盖,这应该已经被你的单元测试所捕获。

调用一个不存在的函数会导致沿着undefined is not a function的错误,并且会导致测试用例失败。

为了避免这样的问题,请确保您的测试覆盖率已经很高。像Istanbul这样的测试覆盖工具可能有助于确定需要改进的地方。

+0

好的我会看看'istanbul',但是我写的单元测试正确导入了'Util',因此测试通过了。使用'foo'的函数没有单元测试,因为它是使用foo值作为参数的第三方函数。我只能在集成测试中捕获它。但即使如此,在运行该程序之前是否有办法处理这些拼写错误?一些验证这些问题,如编译器? – itaied