我有这种我无法理解的行为:
Cart.prototype.getCouponsCount = function() {
// Loop through all rows of coupons currently available in the cart
ele.cartCouponsList.count().then(function(count) {
console.log("Amount of items in cart:", count);
return count;
});
};
当这样调用时:
var Cart = require("../../../../lib/cartlib");
var cart = new Cart();
expect(cart.getCouponsCount()).toBe(2);
返回undefined
,但在控制台中,我可以看到正在打印的正确优惠券金额。所以它只是没有将计数归还。
同样地,我将此工作用于getText()
方法,因此我无法理解为什么count()
方法的行为会有所不同。
工作方法:
Cart.prototype.getEvent = function(row) {
var cartHistory = new Cart();
var parent = cartHistory.getCartCoupon(row);
var child = parent.element(by.binding("selection.event.name"))
.getText().then(function(e) {
console.log(e);
return e;
});
};
任何人都可以指出我正确的方向吗?
答案 0 :(得分:1)
该函数有无返回,添加它:
Cart.prototype.getCouponsCount = function() {
// HERE
return ele.cartCouponsList.count().then(function(count) {
console.log("Amount of items in cart:", count);
return count;
});
};