如何编写代码,以便测试可以在此处访问函数执行的属性:
_instance.addProducts(_product).products
试验
describe(`ONE product added`, () => {
const _product = {
name: 'product1',
price: 1.50,
quantity: 1
};
let _instance
let _cart
beforeEach(() => {
_instance = window[MODULE_NAME]();
_cart = _instance.addProducts(_product);
});
test(`cart's products`, () => {
expect(_cart.products).toEqual([_product]);
});
})
代码
(function() {
var MODULE_NAME = 'shoppingcartModel',
_Cart = {
products: [],
total: {
beforeVAT: 0,
afterVAT: 0,
VAT: 0
}
};
window[MODULE_NAME] = function() {
return {
addProducts: function(newOrExistingProducts) {
return _Cart.products.push(newOrExistingProducts);
}
};
};
})()
考试写得很好,不能修改。那是什么魔法?:)
addProducts
添加到变量并附加
products
上面有财产,但不是…