Sinon: stub (obj, 'meth', fn) foi removido, consulte a documentação

Criado em 2 abr. 2018  ·  7Comentários  ·  Fonte: sinonjs/sinon

Quando uso o código a seguir, ocorre um erro:

let obj = {
    foo: function() {
    }
}
var stub = sinon.stub(obj , "foo", () => {});

stub(obj, 'meth', fn) has been removed, see documentation

Em seguida, verifico a documentação:

http://sinonjs.org/releases/v2.0.0/stubs/#var -stub - sinonstubobject-method-func

var stub = sinon.stub (objeto, "método", função);

Substitui object.method por uma função, envolvida em um espião.

Como de costume, object.method.restore (); pode ser usado para restaurar o método original.

Estou usando o sinon 4.3.

Comentários muito úteis

Para aqueles que descobriram isso pelo Google ao pesquisar a mensagem de erro, os documentos atualizados estão aqui: http://sinonjs.org/releases/v5.0.3/stubs/

Parece que o novo formulário é stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Isso foi removido da v3.0.0. Em vez disso, você deve usar
stub(obj, 'meth').callsFake(fn)
Um codemod está disponível para atualizar seu código

Todos 7 comentários

Esquecer é que, por algum motivo, a pesquisa "sinon stub" do Google aponta para a documentação 2.0.0.

Para aqueles que descobriram isso pelo Google ao pesquisar a mensagem de erro, os documentos atualizados estão aqui: http://sinonjs.org/releases/v5.0.3/stubs/

Parece que o novo formulário é stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Isso foi removido da v3.0.0. Em vez disso, você deve usar
stub(obj, 'meth').callsFake(fn)
Um codemod está disponível para atualizar seu código

@mroderick : É uma pena que as pessoas acabem criando problemas devido à nossa (?) estratégia de SEO, então talvez seja hora de olhar para a sugestão que tive uma vez para consertar as pesquisas desatualizadas do Google. Eu poderia começar detalhando o problema e uma possível correção (de acordo com nossa discussão no Twitter de .. 2016?).

AFAI lembro que a correção sugerida foi fazer algo como Django, que prevê alguma correção semântica por meio da manipulação canônica de links para melhorar o SEO, sempre tendo os acessos do Google apontados para / mais recentes. Os detalhes me escapam ATM, mas era conceitualmente simples. O obstáculo era apenas fazer isso usando Jekyll, AFAI pode se lembrar :-)

Seria possível ter um banner no topo das versões antigas informando que esses documentos estão desatualizados? Isso não melhoraria os resultados da pesquisa, mas pelo menos é mais óbvio para os visitantes.

@mantoni Sim, exatamente uma das coisas que surgiram na minha troca no Twitter com Morgan:


A propósito, tive uma segunda dúvida sobre isso devido a algumas preocupações de SEO. Acho que precisamos de outra abordagem, ref esta pergunta: https://webmasters.stackexchange.com/questions/109113/versioned-pages-making-sure-google-points-to-the-current ... o que me levou a este: https : //webmasters.stackexchange.com/questions/99867/how-to-correctly-mark-up-different-versions-of-the-same-document-which-are-non-c…

Basicamente, acho que uma grande melhoria para melhores resultados do Google seria fazer o que o Django faz em seus documentos: https : //webmasters.stackexchange.com/a/101534/11903 - use rel = canonical para limpar basicamente tudo, exceto as versões mais recentes do índice - tem um pequeno alerta na parte superior alertando o usuário de que ele está vendo documentos mais antigos.

Acho que usar banners e canonical (ou noindex ) seria um bom começo.

No final das contas, eu gostaria de ter um site de documentação melhor.

  • mais fácil de gerenciar, mais fácil de contribuir (está ficando complicado com todos os lançamentos)
  • mais exemplos, basicamente todo método / propriedade deve ter pelo menos um bom exemplo de uso
  • Parque infantil

hoje, ainda considero isso como o principal resultado de pesquisa do google para stub(obj, 'meth', fn) has been removed, see documentation

Esta página foi útil?
0 / 5 - 0 avaliações