经过大量阅读后,我发现人们建议在单元测试下模拟方法中的每个依赖项。
但是,我有一个方法可以创建对象列表(依赖项)并使用这些对象的方法来更改列表。在现实场景中,该方法是将客户端发送的数据有效负载转换为这些对象。下面是 Typescript 中的代码实现,但它只是给你一个想法。
import {expect} from 'chai';
import 'mocha';
class Bar {
private val: number;
constructor(val: number) {
this.val = val;
}
isValid(): boolean {
return this.val !== 2;
}
canMergeWith(bar: Bar): boolean {
return this.val === bar.val;
}
}
class BarBuilder {
constructor() {
}
createBars(payload: number[]): Bar[] {
const bars: Bar[] = [];
payload.forEach(p => {
bars.push(new Bar(p));
});
const filtered = this.filterBars(bars);
const merged = this.mergeBars(filtered);
return merged;
}
private filterBars(bars: Bar[]): Bar[] { …Run Code Online (Sandbox Code Playgroud)