javascript和ember的新手,我之前没有在这种应用程序中构建测试。到目前为止,我正在使用茉莉和sinon。
我正在为我的ember应用程序构建模型的单元测试,这很简单。一到控制器,我就遇到了问题。我没有为测试应用程序定义路由器,因为我只是单元测试模型。然而,当我为Controller添加测试时,会调用Ember.Application.registerInjection(我知道这是Ember使用路由器的自动化过程的一部分),但由于没有定义路由器而引发错误。
如果我定义一个最小的路由器,ember告诉我必须在我的应用程序上定义ApplicationView或应用程序模板。我明白了。
如果我只是想运行单元测试,那么在测试累积时,在浏览器中定义和渲染常规应用程序的所有视图似乎非常慢。我也意识到我确实需要在某些时候测试我的观点。
所以这让我问:
如何有效地运行不依赖于视图层的单元测试?
如果涉及到视图,我该如何进行集成测试?
我正在阅读“无头”测试,但不太明白如何去做,或者我应该使用什么。如果可能的话,我想坚持使用茉莉花。
一般方法,特别提示将不胜感激。
答案 0 :(得分:3)
我的方法是对其余的单元测试模型和集成测试。一般来说,单元测试超出模型的任何东西变得困难,因为有很多交互。最后,您希望测试整个应用程序的行为,以便我可以使用集成测试方法。