рддрд░реНрдХ = ["1", "2", "3"] рдПрдХ рд╕рд┐рдиреЙрди рдареВрдВрда рдХреЗ рд▓рд┐рдПред
рдореИрдВ рддрд░реНрдХ рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ
stub.withArgs (рддрд░реНрдХ)ред рд╡рд╛рдкрд╕реА (рдорд╛рди); // рдЗрд╕рдХреА рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде
stub.withArgs(sinon.match.array).return(value); // рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо
stub.withArgs(sinon.match.array.and(sinon.match.has("length", 3) // рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо
рдореИрдВ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рддрд░реНрдХ рд╕реНрдЯрдм рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдорджрдж рдХреАрдЬрд┐рдПред
рд╣рдо рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рд╛рдл рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдмрдЧ рдФрд░ рдлреАрдЪрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЯрд┐рдХрдЯ рдПрдХ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрди рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ Sinon.JS рдореЗрд▓рд┐рдВрдЧрд▓рд┐рд╕реНрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреЗред
рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╡рд┐рд╖рдп Sinon.JS рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдЯрд┐рдХрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдордВрдЪ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реВрдВрдЧрд╛, рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╕рд┐рдиреЙрди рд╢рд╛рдВрдд рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рд╣реИ :)
рдХрд┐рд╕реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ @mroderick рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
var expectedValue = [1, 2, 3];
var myStub = sinon.stub;
// let's pretend this is the call you want to verify
myStub(expectedValue);
var firstArgument = myStub.getCall(0).args[0];
assert.equal(firstArgument, expectedValue);
рдпрд╛ stubName.getCall(0).thisValue.$$paramName;
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХрд┐рд╕реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ @mroderick рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред