我发现我的Angular 2应用中的绝大多数功能都是私密的。例如,看看这个组件(我最大的组件 - 它是一个表单 - 所以它有很多控件,它们是子组件)
{{1}}
我想在这里做最好的练习。所以我没有公开的任何事情......在我看来,这似乎是Angular 2附带的东西,因为在我的大多数非角度应用程序中,我需要更多的公共事物。我的代码是否只是松散耦合,因为没有其他组件需要访问它?我无法弄清楚它是不是很好......
但是我需要对它进行单元测试,通常你不会对任何私密的东西进行单元测试,所以我很困惑。我有很多明显应该测试的逻辑。
我是否私下制作太多东西?或者将它们私有化是一种好习惯吗? 我应该对所有私有函数进行单元测试吗?
答案 0 :(得分:1)
我建议您将所有内容公开/不添加任何前缀,这些前缀会暴露给您的模板html或其他组件。这也是我们在公司工作的方式以及Angular2官方指南中的方式。
这样您就可以自动测试私有函数,因为它们应该在公共方法中的某个地方调用。
您还可以使用Protractor和Selenium等内容创建UI测试以涵盖许多场景