asu*_*and 5 javascript unit-testing jasmine
我有一个复杂的 javascript 类,它有很多功能,如果在生产环境之外调用它们,其中许多会抛出异常。我需要在我的测试中将这个类的模拟实例传递给另一个类的构造函数,但是我不希望实际调用任何复杂的类函数。我想要做的是有一个假对象,它具有复杂类的所有功能和属性,但所有功能都只是什么都不做的茉莉花间谍。
基本上我希望能够做到
var fakeComplexClass = createFakeObject(ComplexClass);
var testInstanceOfSimpleClass = new SimpleClass( fakeComplexClass);
Run Code Online (Sandbox Code Playgroud)
并确保如果testInstanceOfSimpleClass调用任何fakeComplexClass函数,它们将成为间谍,因此不会使我的测试崩溃。
我可以做类似的事情
var fakeComplexClass = { function1() {};, function2() {}; ... }
Run Code Online (Sandbox Code Playgroud)
但是有很多函数,我有几个不同的复杂类需要测试,所以我需要一种简单的方法来基本上监视类中的每个函数。\
Jasmine 确实有 createSpyObj,但它要求您将函数数组传递给它。如果我碰巧从复杂类中添加或删除函数,我不想在我的测试中维护该数组,所以我想要一些可以监视那里的每个函数的东西。
提前致谢。
| 归档时间: |
|
| 查看次数: |
4177 次 |
| 最近记录: |