我希望这些方法仅适用于测试,而不是应用程序代码。例如,删除任何用户的方法。我不希望在生产代码中使用此功能。但它在测试代码中很有用。
如何在测试环境中添加这样的方法,同时将其保留在生产代码之外?
答案 0 :(得分:1)
这是一个可能的解决方案:
假设您创建了一个名为test-helpers
的包。在其中,您在removeAllUsers
命名空间中创建了一个名为TestHelpers
的函数。
现在在另一个需要TestHelpers.removeAllUsers
的软件包中,您可以这样做:
Package.onTest(function(api) {
api.use('TestHelpers', 'server');
});
由于我们仅在onTest
中包含了该包,因此它不会存在于您的生产代码中。此外,我们创建了一个仅服务器功能(不是方法),因此即使它在生产中暴露,也无法从客户端调用。