我希望测试一些使用第三方脚本进行某些计算的Ember Objects / Models。
当我开始编写这些测试时,当我开始与第三方脚本进行交互时遇到问题,因为它们没有被加载并且我遇到了一堆未定义的函数。在这种情况下,我可以通过覆盖测试设置中的功能来解决它,但这感觉很糟糕。
来自C#背景我通常会使用mock / stub作为第三方库并将其作为依赖注入。在测试期间,我只是检查模拟被正确调用而不是测试输出。
我无法在恩伯找到一个明智的例子。
在Ember单元测试中,模拟库是否是最合适的方法?如果是这样的话,有没有人有一个明智的模拟库的建议我可以用于Ember单元测试?不幸的是,在这个项目1.7(cli v 0.1.2)中,我与旧版本的Ember联系在一起。
答案 0 :(得分:2)
是的,我们也在使用模拟实践。例如;创建模拟服务,模拟工具,甚至创建模拟配置文件...
对我来说,我没有使用外部库来模拟对象。 (顺便说一下,和你一样,我是一个java开发人员。)As written in the guides,我会对所需对象进行存根。
您可以在Stackoverflow上查看有关存根的其他答案:stubbing store at component tests,stubbing store at instance initializer tests ...
你嘲笑的想法是完全有效和合理的。如果您想进一步研究,可以查看qunit's plugins的模拟工具部分。