рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, restore()
рдирдХрд▓реА рдпрд╛ рдЬрд╛рд╕реВрд╕реЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдиреЙрди v5.0.2 рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рд░реЗрдкреНрд░реЛ рдХреЗрд╕:
const sinon = require('sinon');
const myApi = {
someMethod() {
console.log('test method!');
}
};
sinon.stub(myApi, 'someMethod');
sinon.restore();
sinon.stub(myApi, 'someMethod');
// TypeError: Attempted to wrap someMethod which is already wrapped
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ extend
рдореЗрдВ lib/sinon.js
, рдЕрди-рд╕реИрдВрдбрдмреЙрдХреНрд╕ stub/spy/etc.
рд╕реЗ рдирд┐рд░реНрдпрд╛рдд apiMethods
рдЕрдВрдд рд╕реИрдВрдбрдмреЙрдХреНрд╕ рддрд░реАрдХреЛрдВ рдкреАрдЫрд╛, рдФрд░ рдЗрддрдирд╛ restore()
рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рд╕реНрд░реЛрдд lib/sinon.js
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреАрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рд╣реИред
рдореИрдВрдиреЗ рдХреЗрд╡рд▓ stub
рдФрд░ spy
рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдЫрд╛рдпрд╛рдВрдХрд┐рдд рд╡рд┐рдзрд┐рдпрд╛рдВ рднреА рдЗрд░рд╛рджреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреАред
рдореИрдВрдиреЗ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдиреЛрдб v8.9.4 рдФрд░ рдХреНрд░реЛрдо 66.0.3359.117 рдкрд░ рдХрд░реНрдо/рдХреНрд░реЛрдореЗрдбреНрд░рд┐рд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрддрд╛ рд╣реИред
рдЖрдкрдХреА рд╡рд┐рд╕реНрддреГрдд рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдпрд╣ [email protected]
рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЗрд╕реЗ рдЗрддрдиреА рдЬрд▓реНрджреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА :)
рдЕрдЪреНрдЫреА рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде, рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдЧ рдХреЛ рдХреБрдЪрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЕрдЪреНрдЫреА рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде, рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдЧ рдХреЛ рдХреБрдЪрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ