redef.

Utilitário de teste para funções de redefinição
Baixe Agora

redef. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL v3
  • Preço:
  • FREE
  • Nome do editor:
  • Joe Heyming
  • Site do editor:
  • http://github.com/joeheyming/

redef. Tag


redef. Descrição

redef é um utilitário de teste python para funções de redefinição. Para instalar, basta executar: python ./setup.py buildpython ./setup.py installee test_redef.py sob o caminho de instalação para exemplos.redef está intunciado para criar variáveis de escopo lexically que quando destruído Desfazer Comportamento simulado.it foi inspirado por um módulo Perl, teste :: resub - http://search.cpan.org/~airwave/test-resub-1.02/lib/test/resub.pm os melhores exemplos usam unittest, mas deve funcionar com qualquer estrutura de testes.Import Unittestfrom Redef Import Redefclass MyClass: def Lame_function (auto): retorne "algo que eu não quero" Def MyTest (Unittest.Testcase): Def Test1 (auto): Myobj = Myclass () asserttequal (myobj.lame_function (), "algo que eu não quero") quer = 'algo que eu quero' rd_lf = redef (myclass, 'lame_function', lambda s: deseja) self.assertequal (myobj.lame_function (), quer ) # após o teste1, rd_lf é excluído e redefine o Def test2 (auto): myobj = myclass () # test2 é ineficaz por test1 self.assertequal (myobj.lame_function (), "algo que eu não" T isso não tem que ser uma função, você também pode redefinir atributos diretamente em um objeto.class myclass: imprevisível = 'random string'my_global_object = myclass () ... def Test3 (auto): rd_u = redef (My_Global_Object, 'imprevisível', 'Unit Testable String') # ... teste algo incrível! self.assertequal (my_global_object.unpredictable, 'Unit Testable String') Def Test4 (auto): # Hey, my_global_object está de volta a ser imprevisível self.Assertequal (my_global_object.unpredictable, 'imprevisível') Existem outras funções úteis fornecidas no Redef Objeto em si: Classe Redef: chamado (): armazena quantas vezes uma função redef'd foi chamada.method_args (): armazena os mais recentes * args para a função redef'd.named_method_args (): armazena os mais recentes ** kwargs para o function.reset (): conjuntos chamados, método_args e name_method_args Voltar para o estado padrão de 0, nenhum, o Nonersef também fornece uma função estática do Freebie: redef (obj, tecla, valor): Construtor estático de um Redef Objeto # Estas funções estáticas foram providas para mostrar a utilidade do Redef: # Por exemplo, você pode capturar stdout de uma chamada de função, e depois de captá-lo, # sys.stdout volta ao NormalClass WriteCapture: tem 2 variáveis que você deseja: Saída, retornedstdout_of (func, * args, ** kwargs): Chame um funct íon e captura O STDOUT retorna um writeCaptureObject que possui o STDOUT e o valor de retorno de chamadas funcstderr_of (func, * args, ** kwargs): Chame uma função e capturar o stderr retorna um writeCaptureObject que possui o valor de retorno e o valor de retorno Página inicial do fundproduto


redef. Software Relacionado