web-dev-qa-db-ja.com

特定の引数を持つジャスミンスパイオン

私が持っていると仮定します

spyOn($cookieStore,'get').and.returnValue('abc');

これは私のユースケースには一般的すぎます。いつでも電話する

$cookieStore.get('someValue') -->  returns 'abc'
$cookieStore.get('anotherValue') -->  returns 'abc'

私はspyOnをセットアップしたいので、引数に基づいて異なるリターンを得る:

$cookieStore.get('someValue') -->  returns 'someabc'
$cookieStore.get('anotherValue') -->  returns 'anotherabc'

助言がありますか?

18
eeejay

callFake を使用できます。

spyOn($cookieStore,'get').and.callFake(function(arg) {
    if (arg === 'someValue'){
        return 'someabc';
    } else if(arg === 'anotherValue') {
        return 'anotherabc';
    }
});
27
Mehraban