예제 2-32 인자가 타깃에 잘 전달되는지 테스트
소스 파일 2장\AOP\Aop_03_tests.js
describe(‘Aop’, function() { var argPassingAdvice, // 타깃에 인자를 전달할 어드바이스 argsToTarget; // targetObj.targetFn에 전달할 인자들 // 다른 변수 줄임 beforeEach(function() { targetObj = { targetFn: function() { executionPoints.push(‘targetFn’); argsToTarget = Array.prototype.slice.call(arguments, 0); } }; executionPoints = []; argPassingAdvice = function(targetInfo) { targetInfo.fn.apply(this, targetInfo.args); }; argsToTarget = []; }); describe(‘Aop.around(fnName, advice, targetObj)’, function() { it(‘어드바이스에서 타깃으로 일반 인자를 넘길 수 있다’, function() { Aop.around(‘targetFn’, argPassingAdvice, targetObj); targetObj.targetFn(‘a’, ‘b’); expect(argsToTarget).toEqual([‘a’,‘b’]); }); }); });