【发布时间】:2020-05-01 18:09:33
【问题描述】:
在我的单元测试中,我必须创建具有大量属性的存根。
所以我会有这样的界面:
interface Person {
id: string;
name: string;
age: number
...
}
然后我将必须创建一个实现此接口的对象并将一些值传递给每个属性。 Jasmine不是有一个函数,接收一个接口,返回一个带默认值的对象吗?
在上面的例子中,我会得到:
const stub: Person = createStubObj<Person>();
stub.id // ""
stub.name // ""
stub.getAge // 0
我做了一些研究,但没有发现任何有用的东西。
createSpyObj 似乎对我没有帮助,因为我没有任何想要监视的功能。对象只有属性。
当 HTTP 请求返回一个复杂对象(许多属性、嵌套属性)时,可能会发生这种情况。我想知道在这种情况下如何模拟该对象,而无需为每个属性指定值。
类似于这个库正在做的事情:https://www.npmjs.com/package/ts-auto-mock#usage
我想知道这是否也可以在 Jasmine 中实现,或者是否有更好的方法
【问题讨论】:
标签: angular jasmine karma-jasmine angular-test