In Sinon I can do the following:
var myObj = {
prop: \'foo\'
};
sinon.stub(myObj, \'prop\').get(function getterFn() {
return \'bar\';
});
myObj.prop; /
For anyone else stumbling across this answer, Jest 22.1.0 introduced the ability to spy on getter and setter methods.
Edit: like in scieslak's answer below, because you can spy on getter and setter methods, you can use Jest mocks with them, just like with any other function:
class MyClass {
get something() {
return 'foo'
}
}
jest.spyOn(MyClass, 'something', 'get').mockReturnValue('bar')
const something = new MyClass().something
expect(something).toEqual('bar')